diff --git a/src/server/game/champship_mgr.go b/src/server/game/champship_mgr.go index e245fc8d..7e1ba330 100644 --- a/src/server/game/champship_mgr.go +++ b/src/server/game/champship_mgr.go @@ -81,36 +81,28 @@ func (c *ChampshipMgr) Init() { } // 注册处理函数 c.init() - c.RegisterHandler(msg.HANDLE_TYPE_CHAMPSHIP_GROUP, c.group) c.RegisterHandler(msg.HANDLE_TYPE_CHAMPSHIP_INRANK, c.inRank) c.RegisterHandler(msg.HANDLE_TYPE_CHAMPSHIP_AI, c.ai) - c.RegisterHandler(msg.SERVER_ZERO_UPDATE, c.ZeroUpdate) c.RegisterHandler(msg.HANDLE_TYPE_CHAMPSHIP_NOTIFY2, c.NotifyAll) Now := GoUtil.Now() ZeroTime := GoUtil.ZeroTimestamp() if c.getData().ZeroTime != ZeroTime { - c.ZeroUpdate(&msg.Msg{}) + c.ZeroUpdate() } Remain := Now - ZeroTime Remain1 := 1800 - Remain%1800 c.mDispatr.AfterFunc(time.Duration(Remain1)*time.Second, func() { // 30分钟后重新分组 - c.Send(&msg.Msg{ - Type: msg.HANDLE_TYPE_CHAMPSHIP_GROUP, - }) + c.group() }) c.mDispatr.AfterFunc(time.Duration(60)*time.Second, func() { - c.Send(&msg.Msg{ - Type: msg.HANDLE_TYPE_CHAMPSHIP_AI, - }) + c.ai() }) c.mDispatr.AfterFunc(time.Duration(GoUtil.NextZeroTimestampDuration())*time.Second, func() { - c.Send(&msg.Msg{ - Type: msg.SERVER_ZERO_UPDATE, - }) + c.ZeroUpdate() }) } @@ -120,13 +112,14 @@ func (c *ChampshipMgr) NotifyAll(m *msg.Msg) (interface{}, error) { return nil, nil } -func (c *ChampshipMgr) ZeroUpdate(m *msg.Msg) (interface{}, error) { +func (c *ChampshipMgr) ZeroUpdate() (interface{}, error) { log.Debug("ChampshipMgr ZeroUpdate") c.getData().ZeroTime = GoUtil.ZeroTimestamp() c.getData().PreRank = c.getData().Rank c.getData().PreRobot = c.getData().Robot c.getData().PreGroupInfo = c.getData().GroupInfo - + c.getData().AutoId = 0 + c.getData().RobotId = 1 c.getData().Robot = make(map[int]*ChampshipRobot, 0) c.getData().Rank = make(map[int][]*ChampshipRank, 0) c.getData().GroupInfo = make(map[int]int, 0) @@ -138,9 +131,7 @@ func (c *ChampshipMgr) ZeroUpdate(m *msg.Msg) (interface{}, error) { }) c.NotifyPlayer() c.mDispatr.AfterFunc(time.Duration(1800)*time.Second, func() { - c.Send(&msg.Msg{ - Type: msg.HANDLE_TYPE_CHAMPSHIP_NOTIFY2, - }) + c.ZeroUpdate() }) return nil, nil } @@ -157,7 +148,7 @@ func (c *ChampshipMgr) NotifyPlayer() { } } -func (c *ChampshipMgr) ai(m *msg.Msg) (interface{}, error) { +func (c *ChampshipMgr) ai() (interface{}, error) { ChampshipData := c.getData() Now := GoUtil.Now() for k, v := range ChampshipData.Rank { @@ -204,9 +195,7 @@ func (c *ChampshipMgr) ai(m *msg.Msg) (interface{}, error) { ChampshipData.Rank[k] = v } c.mDispatr.AfterFunc(time.Duration(60)*time.Second, func() { - c.Send(&msg.Msg{ - Type: msg.HANDLE_TYPE_CHAMPSHIP_AI, - }) + c.ai() }) return nil, nil } @@ -319,11 +308,9 @@ func (c *ChampshipMgr) GetRankMsg(Uid int) *proto.ResChampshipRank { } // 分组 -func (c *ChampshipMgr) group(m *msg.Msg) (interface{}, error) { +func (c *ChampshipMgr) group() (interface{}, error) { c.mDispatr.AfterFunc(time.Duration(1800)*time.Second, func() { // 30分钟后重新分组 - c.Send(&msg.Msg{ - Type: msg.HANDLE_TYPE_CHAMPSHIP_GROUP, - }) + c.group() }) Now := GoUtil.Now() Zero := GoUtil.ZeroTimestamp() diff --git a/src/server/game/player_data.go b/src/server/game/player_data.go index 6901c65f..03c9cb89 100644 --- a/src/server/game/player_data.go +++ b/src/server/game/player_data.go @@ -1024,8 +1024,9 @@ func (p *Player) HandleInChampshipRank() { H: ChampshipMod.GetH(), N: ChampshipMod.GetN(), }, + HandleType: MsgMod.HANDLE_MDO_CHAMPSHIP_INRANK, } - G_GameLogicPtr.ChampshipMgrSend(m) + SendMsgToCenterAsync(m) } func (p *Player) AddLog(Uid int, Type int, Param string, Time int64) {