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 ServerToClientMessage(NewTurnBroadcast newTurn) { Type = ServerToClientMessageType.NewTurn; NewTurn = newTurn; }