fix: 修复空提交问题
This commit is contained in:
@@ -3,10 +3,8 @@ package space
|
||||
import (
|
||||
"blazing/common/data/xmlres"
|
||||
"blazing/common/utils"
|
||||
"sync/atomic"
|
||||
|
||||
"blazing/logic/service/common"
|
||||
"blazing/logic/service/fight/info"
|
||||
maps "blazing/logic/service/maps/info"
|
||||
|
||||
csmap "github.com/mhmtszr/concurrent-swiss-map"
|
||||
@@ -21,63 +19,10 @@ type Space struct {
|
||||
SuperValue *int32
|
||||
//ID uint32 // 地图ID
|
||||
Name string //地图名称
|
||||
ARENA S2C_ARENA_GET_INFO
|
||||
ARENA ARENA
|
||||
ARENA_Player common.PlayerI
|
||||
}
|
||||
|
||||
func (s *Space) Can_ARENA(tt func(c common.PlayerI) common.PlayerI) {
|
||||
|
||||
//原子操作,修改擂台状态
|
||||
if atomic.CompareAndSwapUint32(&s.ARENA.Flag, 1, 2) {
|
||||
r := tt(s.ARENA_Player)
|
||||
if r != nil {
|
||||
atomic.SwapUint32(&s.ARENA.ChallengerID, r.GetInfo().UserID) //传回的指针赋值给ID
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// flag 0 取消 1为加入 2为替换挑战方
|
||||
func (s *Space) UP_ARENA(c common.PlayerI, FLAG uint32) {
|
||||
|
||||
switch FLAG {
|
||||
case 0:
|
||||
if s.ARENA.Id != c.GetInfo().UserID { //说明不是自己退出
|
||||
return
|
||||
}
|
||||
s.ARENA = info.S2C_ARENA_GET_INFO{}
|
||||
s.ARENA_Player = nil
|
||||
|
||||
case 1:
|
||||
if s.ARENA.Id != 0 { //说明已经有人了
|
||||
return
|
||||
}
|
||||
s.ARENA.Flag = 1
|
||||
s.ARENA.Id = c.GetInfo().UserID //添加用户ID
|
||||
s.ARENA.Nick = c.GetInfo().Nick
|
||||
s.ARENA_Player = c //添加用户
|
||||
case 2: //胜利替换
|
||||
if s.ARENA.Flag != 2 { //说明没进入挑战
|
||||
return
|
||||
}
|
||||
if s.ARENA.Id != c.GetInfo().UserID && c.GetInfo().UserID != s.ARENA.ChallengerID { //说明已经有人了
|
||||
return
|
||||
}
|
||||
if c.GetInfo().UserID == s.ARENA.Id {
|
||||
s.ARENA.HostWins += 1 //连胜+1
|
||||
|
||||
}
|
||||
s.ARENA.Flag = 1
|
||||
s.ARENA.Id = c.GetInfo().UserID //添加用户ID
|
||||
s.ARENA.Nick = c.GetInfo().Nick
|
||||
s.ARENA_Player = c //添加用户
|
||||
|
||||
}
|
||||
s.Broadcast(c, 2419, s.ARENA)
|
||||
|
||||
}
|
||||
|
||||
// NewSyncMap 创建一个新的玩家同步map
|
||||
func NewSpace() *Space {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user