public void NewTurn(bool isMyTurn, List<Unit> attritionUnits) { var attritionCasualties = attritionUnits.Select((Unit x) => new UnitCasualties(x.Id, x.Strength, !x.CanPerformAction)).ToList(); var identifier = isMyTurn ? Identifier : Opponent.Identifier; NewTurnBroadcast newTurn = new NewTurnBroadcast(identifier, attritionCasualties); ServerToClientMessage message = new ServerToClientMessage(newTurn); QueueMessage(message); if(isMyTurn) InGameState(PlayerStateType.MyTurn, ClientToServerMessageType.MoveUnit, ClientToServerMessageType.EntrenchUnit, ClientToServerMessageType.AttackUnit, ClientToServerMessageType.DeployUnit, ClientToServerMessageType.ReinforceUnit, ClientToServerMessageType.PurchaseUnit, ClientToServerMessageType.UpgradeUnit, ClientToServerMessageType.EndTurn); else InGameState(PlayerStateType.OpponentTurn); }
public void OnNewTurn(NewTurnBroadcast msg) { m_whosTurn = (ECamp)msg.camp; OnBoardSync(msg.boardSync); SendEvent(Event.Gomuku.NewTurn, m_whosTurn); }