150 lines
3.8 KiB
Plaintext
150 lines
3.8 KiB
Plaintext
autoImport("BaseCell")
|
|
SaveCell = class("SaveCell",BaseCell)
|
|
|
|
local blue = LuaColor.New(62/255, 88/255, 174/255, 1)
|
|
|
|
SaveCell.StatusChange = "SaveCell_StatusChange"
|
|
function SaveCell:Init()
|
|
self:FindObjs()
|
|
self:AddCellClickEvent()
|
|
self:AddCellDoubleClickEvt()
|
|
-- self:AddUnlcokEvt()
|
|
|
|
self.selected = false
|
|
end
|
|
|
|
function SaveCell:FindObjs()
|
|
self.bg = self.gameObject:GetComponent(UIMultiSprite)
|
|
self.name = self:FindGO("name"):GetComponent(UILabel)
|
|
self.time = self:FindGO("time"):GetComponent(UILabel)
|
|
self.date = self:FindGO("date"):GetComponent(UILabel)
|
|
self.icon = self:FindGO("icon"):GetComponent(UIMultiSprite)
|
|
self.tip = self:FindGO("tip"):GetComponent(UILabel)
|
|
self.selection = self:FindGO("selection"):GetComponent(UISprite)
|
|
self.selection.gameObject:SetActive(false)
|
|
self.rolename = self:FindGO("rolename"):GetComponent(UILabel)
|
|
end
|
|
|
|
function SaveCell:SetData(data)
|
|
self.data = data
|
|
self.id = data.id
|
|
if data.status == 1 then
|
|
if data.recordTime == 0 then
|
|
self:SetSave()
|
|
else
|
|
self:SetInfo()
|
|
end
|
|
else
|
|
if data.type == SceneUser2_pb.ESLOT_MONTH_CARD then
|
|
self:SetTip()
|
|
elseif data.type == SceneUser2_pb.ESLOT_BUY then
|
|
self:SetAdd()
|
|
end
|
|
end
|
|
|
|
|
|
if data.type == SceneUser2_pb.ESLOT_MONTH_CARD
|
|
and data.status == 1 then
|
|
self:CreateTick()
|
|
else
|
|
self:ClearTick()
|
|
end
|
|
end
|
|
|
|
function SaveCell:CreateTick()
|
|
self.timeTick = TimeTickManager.Me():CreateTick(0,1000,self._refreshTime,self)
|
|
end
|
|
|
|
function SaveCell:_refreshTime()
|
|
if(self:ObjIsNil(self.gameObject))then
|
|
self:ClearTick()
|
|
return
|
|
end
|
|
local leftTime = MultiProfessionSaveProxy.Instance:GetCardExpiration()-ServerTime.CurServerTime()/1000
|
|
leftTime = math.max(0,leftTime)
|
|
if leftTime == 0 then
|
|
self:ClearTick()
|
|
MultiProfessionSaveProxy.Instance:UpdateStatus(self.id,0)
|
|
MultiProfessionSaveProxy.Instance:SortUserSave()
|
|
self:PassEvent(SaveCell.StatusChange)
|
|
end
|
|
end
|
|
|
|
function SaveCell:ClearAll()
|
|
self.name.gameObject:SetActive(false)
|
|
self.date.gameObject:SetActive(false)
|
|
self.time.gameObject:SetActive(false)
|
|
self.icon.gameObject:SetActive(false)
|
|
self.tip.gameObject:SetActive(false)
|
|
self.rolename.gameObject:SetActive(false)
|
|
end
|
|
|
|
function SaveCell:SetSave()
|
|
self:ClearAll()
|
|
self.bg.CurrentState = 0
|
|
self.icon.gameObject:SetActive(true)
|
|
self.icon.CurrentState = 1
|
|
self.icon.color = blue
|
|
self.icon:MakePixelPerfect()
|
|
end
|
|
|
|
function SaveCell:SetInfo()
|
|
self:ClearAll()
|
|
self.bg.CurrentState = 0
|
|
local recordtime = os.date("*t", self.data.recordTime)
|
|
self.date.text = string.format(ZhString.MultiProfession_SaveDate, recordtime.year, recordtime.month, recordtime.day)
|
|
self.time.text = string.format(ZhString.MultiProfession_SaveTime, recordtime.hour, recordtime.min)
|
|
self.name.text = self.data.recordName
|
|
self.rolename.text = MultiProfessionSaveProxy.Instance:GetRoleName(self.id)
|
|
self.date.gameObject:SetActive(true)
|
|
self.time.gameObject:SetActive(true)
|
|
self.name.gameObject:SetActive(true)
|
|
self.rolename.gameObject:SetActive(true)
|
|
end
|
|
|
|
function SaveCell:SetTip()
|
|
self:ClearAll()
|
|
self.bg.CurrentState = 1
|
|
self.tip.text = ZhString.MultiProfession_MonthCardTip
|
|
self.tip.gameObject:SetActive(true)
|
|
end
|
|
|
|
function SaveCell:SetAdd()
|
|
self:ClearAll()
|
|
self.bg.CurrentState = 1
|
|
self.icon.gameObject:SetActive(true)
|
|
self.icon.CurrentState = 0
|
|
self.icon.color = LuaColor.white
|
|
self.icon:MakePixelPerfect()
|
|
end
|
|
|
|
function SaveCell:SetSelect()
|
|
self.selection.gameObject:SetActive(true)
|
|
end
|
|
|
|
function SaveCell:SetUnselected()
|
|
self.selection.gameObject:SetActive(false)
|
|
end
|
|
|
|
function SaveCell:ShowChoose(selectId)
|
|
if selectId == self.id then
|
|
self:SetSelect()
|
|
else
|
|
self:SetUnselected()
|
|
end
|
|
end
|
|
|
|
|
|
function SaveCell:OnExit( )
|
|
SaveCell.super.OnExit(self);
|
|
end
|
|
|
|
function SaveCell:ClearTick()
|
|
if(self.timeTick)then
|
|
TimeTickManager.Me():ClearTick(self)
|
|
end
|
|
end
|
|
|
|
function SaveCell:OnDestroy()
|
|
self:ClearTick()
|
|
end |