From ed7e2d76257a3afc9fb0f4fa519090fece2d66df Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 6 Mar 2026 14:55:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=A6=E6=A0=87=E8=B5=9B=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C0=E7=82=B9=E5=A4=9A=E8=BF=9B=E8=A1=8C=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=E5=88=86=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/champship_mgr.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/server/game/champship_mgr.go b/src/server/game/champship_mgr.go index a32d4a49..6d1073ca 100644 --- a/src/server/game/champship_mgr.go +++ b/src/server/game/champship_mgr.go @@ -94,7 +94,7 @@ func (c *ChampshipMgr) Init() { Remain1 := 1800 - Remain%1800 c.mDispatr.AfterFunc(time.Duration(Remain1)*time.Second, func() { // 30分钟后重新分组 - c.group() + c.group(false) }) c.mDispatr.AfterFunc(time.Duration(60)*time.Second, func() { @@ -116,6 +116,7 @@ func (c *ChampshipMgr) NotifyAll() (interface{}, error) { } func (c *ChampshipMgr) ZeroUpdate() (interface{}, error) { + c.group(true) log.Debug("ChampshipMgr ZeroUpdate") data := c.getData() data.mu.Lock() @@ -365,15 +366,15 @@ func (c *ChampshipMgr) GetRankMsg(Uid int) *proto.ResChampshipRank { } // 分组 -func (c *ChampshipMgr) group() (interface{}, error) { - c.mDispatr.AfterFunc(time.Duration(1800)*time.Second, func() { // 30分钟后重新分组 - c.group() - }) +func (c *ChampshipMgr) group(iszero bool) (interface{}, error) { Now := GoUtil.Now() Zero := GoUtil.ZeroTimestamp() - if Now-Zero < 1800 { // 0点30分钟内不分组 + if Now-Zero < 1800 && !iszero { // 0点30分钟内不分组 return nil, nil } + c.mDispatr.AfterFunc(time.Duration(1800)*time.Second, func() { // 30分钟后重新分组 + c.group(false) + }) ChampshipData := c.getData() ChampshipData.mu.Lock() defer ChampshipData.mu.Unlock()