积分管理器:
保存队伍A和队伍B的积分
每秒判断当前积分
如果队伍A的积分>150,队伍A胜利
如果队伍B的积分>150,队伍A胜利
区域管理器:
每秒判断当前状态:
如果无人占领,什么也不做
如果队伍A占领,通知积分管理器给队伍A+1积分
如果队伍B占领,通知积分管理器给队伍B+1积分
每秒判断当前区域里的玩家
如果没有玩家,或者同时存在队伍A和队伍B的玩家,什么也不做
如果只存在队伍A的玩家
如果上一秒存在队伍B的玩家,或者没有玩家,占领时间设为0
如果上一秒存在队伍A的玩家,占领时间+1秒
如果占领时间>10秒,那么把状态设为队伍A占领
如果只存在队伍B的玩家
如果上一秒存在队伍A的玩家,或者没有玩家,占领时间设为0
如果上一秒存在队伍B的玩家,占领时间+1秒
如果占领时间>10秒,那么把状态设为队伍B占领
血包模块
每秒检查
如果血包碰撞到了某个玩家,给这个玩家回复50%生命
玩家模块
每秒判断当前状态
如果状态为死亡
死亡时间-1秒
如果死亡时间<0秒
状态设为存活
上一个5s无敌的buff
把位置设为出生点(根据队伍阵营)
如果状态为存活
如果血量<0
状态设为死亡