|
|
@ -77,8 +77,8 @@ func (r *RobotManager) OnInit(conf string, GameRoom *Room) { |
|
|
|
// 第一个进入的机器人 只判断一次
|
|
|
|
r.FirstEnterTimer = 0 |
|
|
|
if r.GameRoom.CreatorId != 0 { |
|
|
|
FirstMinTime := r.GameRoom.TableConfig.FirstRobotCheckMinFrequency |
|
|
|
FirstMaxTime := r.GameRoom.TableConfig.FirstRobotCheckMaxFrequency |
|
|
|
FirstMinTime := r.GameRoom.TableConfig.FirstRobotCheckMinFrequency * 1000 |
|
|
|
FirstMaxTime := r.GameRoom.TableConfig.FirstRobotCheckMaxFrequency * 1000 |
|
|
|
if FirstMaxTime <= FirstMinTime { |
|
|
|
r.FirstEnterTimer = nowMilliSeconds + FirstMaxTime |
|
|
|
} else { |
|
|
@ -115,11 +115,21 @@ func (r *RobotManager) OnInit(conf string, GameRoom *Room) { |
|
|
|
|
|
|
|
if GameRoom.TableConfig != nil { |
|
|
|
r.MaxCount = 0 |
|
|
|
if GameRoom.TableConfig.ZeroMaxNum <= GameRoom.TableConfig.ZeroMinNum { |
|
|
|
r.MaxCount = int(GameRoom.TableConfig.ZeroMinNum) |
|
|
|
|
|
|
|
if GameRoom.TableConfig.TableType == 2 { |
|
|
|
if GameRoom.TableConfig.OneMaxNum <= GameRoom.TableConfig.OneMinNum { |
|
|
|
r.MaxCount = int(GameRoom.TableConfig.OneMinNum) |
|
|
|
} else { |
|
|
|
r.MaxCount = int(rand.Int63n(GameRoom.TableConfig.OneMaxNum-GameRoom.TableConfig.OneMinNum+1) + GameRoom.TableConfig.OneMinNum) |
|
|
|
} |
|
|
|
} else { |
|
|
|
r.MaxCount = int(rand.Int63n(GameRoom.TableConfig.ZeroMaxNum-GameRoom.TableConfig.ZeroMinNum+1) + GameRoom.TableConfig.ZeroMinNum) |
|
|
|
if GameRoom.TableConfig.ZeroMaxNum <= GameRoom.TableConfig.ZeroMinNum { |
|
|
|
r.MaxCount = int(GameRoom.TableConfig.ZeroMinNum) |
|
|
|
} else { |
|
|
|
r.MaxCount = int(rand.Int63n(GameRoom.TableConfig.ZeroMaxNum-GameRoom.TableConfig.ZeroMinNum+1) + GameRoom.TableConfig.ZeroMinNum) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
r.FlushCountTimer = nowMilliSeconds + GameRoom.TableConfig.CheckFrequency*1000 |
|
|
|
|
|
|
|
log.Debug("从后台配置 最大机器人数 ", r.MaxCount, " 刷新时间 ", GameRoom.TableConfig.CheckFrequency) |
|
|
@ -488,12 +498,12 @@ func (r *RobotManager) OnRobotMessage(msgId int32, player *Player, msg interface |
|
|
|
} |
|
|
|
|
|
|
|
//结束时候判断是否机器人要离开
|
|
|
|
if message.GameState == 1 { |
|
|
|
if r.GameRoom.GetInRoomRobotCount() > int32(r.MaxCount) { |
|
|
|
r.GameRoom.OnGetOutRoom(player.Uid) |
|
|
|
log.Debug(r.GameRoom.RId, " 机器人 ", player.Uid, " 需要离开 当前机器人个数", r.GameRoom.GetInRoomRobotCount(), "需要的人数", r.MaxCount) |
|
|
|
} |
|
|
|
//if message.GameState == 1 {
|
|
|
|
if r.GameRoom.GetInRoomRobotCount() > int32(r.MaxCount) { |
|
|
|
r.GameRoom.OnGetOutRoom(player.Uid) |
|
|
|
log.Debug(r.GameRoom.RId, " 机器人 ", player.Uid, " 需要离开 当前机器人个数", r.GameRoom.GetInRoomRobotCount(), "需要的人数", r.MaxCount) |
|
|
|
} |
|
|
|
//}
|
|
|
|
} |
|
|
|
case route.LogoutTableRes: |
|
|
|
if player == nil { |
|
|
|