| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- local BattleAccTimeManager = class('BattleAccTimeManager', require('DataBase'))
- function BattleAccTimeManager:ctor()
- self.lastTime = nil
- self.remainTime = nil
- end
- function BattleAccTimeManager:Clear()
- end
- function BattleAccTimeManager:Destroy()
- self:Clear()
- self:UnRegisterNetEvents()
- end
- function BattleAccTimeManager:RegisterNetEvents()
- ManagerContainer.NetManager:NetRegister(ProtoMsgId.SC_PLAYER_BATTLE_ACCT_TIME_NTF, self.OnBattleAcctTimeNtf, self)
- end
- function BattleAccTimeManager:UnRegisterNetEvents()
- ManagerContainer.NetManager:UnRegisterPbIdCallback(ProtoMsgId.SC_PLAYER_BATTLE_ACCT_TIME_NTF)
- end
- function BattleAccTimeManager:InitData(data)
- local lastTime = self.lastTime
- local remainTime = self.remainTime
- if data then
- self.lastTime = data.last_record_battle_acce_time
- self.remainTime = data.battle_acce_duration
- end
- local change = (self.lastTime ~= lastTime or self.remainTime ~= remainTime)
- if change then
- ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.BATTLE_ACC_TIME_CHANGED)
- end
- end
- function BattleAccTimeManager:OnBattleAcctTimeNtf(data)
- self:InitData(data)
- end
- function BattleAccTimeManager:GetValidTime()
- if self.lastTime and self.lastTime > 0 and self.remainTime and self.remainTime > 0 then
- local remainTime = ManagerContainer.LuaTimerMgr:GetRemainSecondsWithUInt64(self.lastTime + self.remainTime)
- return remainTime
- end
- return nil
- end
- return BattleAccTimeManager
|