| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package mapPlayer
- import (
- "f1-game/internal/event"
- nameRemote "f1-game/internal/name/remote"
- "f1-game/nodes/map/internal/db"
- cfacade "github.com/cherry-game/cherry/facade"
- )
- func (p *actorPlayer) initPlayerStats() {
- p.Remote().Register(nameRemote.MapPlayer_ResGatherStats, p.onPlayerResGatherStats)
- p.Remote().Register(nameRemote.MapPlayer_CrusadeBattleStats, p.onPlayerCrusadeBattleStats)
- p.Remote().Register(nameRemote.MapPlayer_TileOccupyStats, p.onPlayerTileOccupyStats)
- // p.EventRegister(nameEvent.Map_PlayerResGather, p.onPlayerResGatherStats)
- // p.EventRegister(nameEvent.Map_PlayerCrusadeBattle, p.onPlayerCrusadeBattleStats)
- // p.EventRegister(nameEvent.Map_PlayerTileOccupy, p.onPlayerTileOccupyStats)
- }
- // 资源采集事件统计
- func (p *actorPlayer) onPlayerResGatherStats(e cfacade.IEventData) {
- evt, ok := e.(*event.PlayerResGather)
- if !ok {
- p.Warn("[onPlayerResGatherStats] fail, event:%+v", e)
- return
- }
- assets := evt.Assets()
- if assets.IsEmpty() {
- return
- }
- playerTable := db.GetMapPlayerTable(p.playerID)
- if playerTable.Stats.UpdateResGatherStats(assets) {
- playerTable.Save2Queue()
- }
- }
- // 讨贼事件统计
- func (p *actorPlayer) onPlayerCrusadeBattleStats(e cfacade.IEventData) {
- evt, ok := e.(*event.CrusadeBattle)
- if !ok {
- p.Warn("[onPlayerCrusadeBattleStats] fail, event:%+v", e)
- return
- }
- playerTable := db.GetMapPlayerTable(p.playerID)
- if playerTable.Stats.UpdateCrusadeBattleStats(evt.ConfigID(), evt.Level(), evt.IsWin()) {
- playerTable.Save2Queue()
- }
- }
- // 攻占资源地事件统计
- func (p *actorPlayer) onPlayerTileOccupyStats(e cfacade.IEventData) {
- evt, ok := e.(*event.TileOccupy)
- if !ok {
- p.Warn("[onPlayerTileOccupyStats] fail, event:%+v", e)
- return
- }
- playerTable := db.GetMapPlayerTable(p.playerID)
- if playerTable.Stats.UpdateTileOccpuyStats(evt.Level()) {
- playerTable.Save2Queue()
- }
- }
|