private void NextRound() { this.Round++; this.timer = READY_TIME; this.RoundStatus = ArenaRoundStatus.Ready; Log.InfoFormat("Arena;[{0} round[{1}]]", this.ArenaInfo.ArenaId, this.Round); ArenaService.Instance.SendArenaReady(this); }
public Arena(Map map, ArenaInfo arena, NetConnection <NetSession> red, NetConnection <NetSession> blue) { this.map = map; this.ArenaInfo = arena; this.Red = red; this.Blue = blue; arena.ArenaId = map.InstanceId; this.ArenaStatus = ArenaStatus.Wait; this.RoundStatus = ArenaRoundStatus.None; }
private void UpdateRound() { if (this.RoundStatus == ArenaRoundStatus.Ready) { this.timer -= Time.deltaTime; if (timer < 0) { this.RoundStatus = ArenaRoundStatus.Fight; this.timer = ROUND_TIME; Log.InfoFormat("Arean:[{0}] Round Start", this.ArenaInfo.ArenaId); ArenaService.Instance.SendArenaRoundStart(this); } } else if (this.RoundStatus == ArenaRoundStatus.Fight) { this.timer -= Time.deltaTime; if (timer < 0) { this.RoundStatus = ArenaRoundStatus.Result; this.timer = RESULT_TIME; Log.InfoFormat("Arean:[{0}] Round End", this.ArenaInfo.ArenaId); ArenaService.Instance.SendArenaRoundEnd(this); } } else if (this.RoundStatus == ArenaRoundStatus.Result) { this.timer -= Time.deltaTime; if (timer < 0) { if (this.Round >= 3) { ArenaRsult(); } else { NextRound(); } } } }