| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package player
- import (
- "f1-game/nodes/game/player/chapter"
- "f1-game/nodes/game/player/lord"
- "f1-game/nodes/game/player/vip"
- "time"
- )
- func (p *actorPlayer) startTimer() {
- if !p.isOnline {
- return
- }
- //移除所有定时器
- p.Timer().RemoveAll()
- // 添加跨天定时器
- p.Timer().AddFixedHour(0, 0, 0, p.onCrossDayTimer)
- // 添加每秒定时器
- p.Timer().Add(1*time.Second, p.every1STimer)
- // 资源定时器
- p.Timer().Add(3*time.Second, p.every3STimer)
- }
- // onCrossDayTimer 跨天执行定时器
- func (p *actorPlayer) onCrossDayTimer() {
- // 不在线不处理跨天,等下次登录的时候处理
- if !p.isOnline {
- return
- }
- // 更新时间
- p.updateNowTime()
- // 跨天重置处理
- p.onReset(p.PlayerTable(), false)
- p.Debug("[crossDay] isOnline = %v", p.isOnline)
- }
- // oneSecondTimer 每1秒定时器
- func (p *actorPlayer) every1STimer() {
- if !p.isOnline {
- return
- }
- p.updateNowTime()
- nowSecond := p.now.ToSecond()
- chapter.Service().StaminaRecoverTimer(p.playerID, nowSecond)
- lord.Service().CheckShowExpireTimer(p.playerID, nowSecond)
- vip.Service().CheckVipExpired(p.playerID)
- }
- // threeSecondTimer 每3秒定时器
- func (p *actorPlayer) every3STimer() {
- p.checkFriendSend()
- }
|