List <string> CreateInvalidTileList(string startingTileCode = "", ClientController.PlayerState specificRole = ClientController.PlayerState.Unassigned) { List <string> list = new List <string>(); if (!string.IsNullOrEmpty(startingTileCode)) { list.Add(startingTileCode); } foreach (string key in mapTiles.Keys) { switch (GetTileType(key)) { case PossibleTypes.HumanDorm: case PossibleTypes.AlienNest: list.Add(key); break; case PossibleTypes.EscapePod: if (specificRole != ClientController.PlayerState.Human) { list.Add(key); } break; } } return(list); }
public void GlowPossibleMovements(string tileCode, int movement, ClientController.PlayerState role) { List <TileData> movementsList = PossibleMovements(tileCode, movement, role); foreach (TileData data in movementsList) { GlowTile(data.tileCode, glowMovementPrefab, glowMovementTilesAggregator); } }
List <TileData> PossibleMovements(string startingTile, int movement, ClientController.PlayerState role) { List <TileData> movementsList = new List <TileData>(); List <string> invalidTileList = CreateInvalidTileList(startingTile, role); PropagateMovement(movementsList, startingTile, startingTile, movement, invalidTileList); return(movementsList); }
public PlayerTurnData(PutPlayRequestData lastPutPlay, ClientController.PlayerState role) { this.lastPlay = lastPutPlay; this.playedThisTurn = false; this.role = role; playingRole = role; int colorToGet = nextUiColor; IncrementeNextUIColor(); _uiColor = (UIColors)colorToGet; }
protected override void GetResultsCommand(UdpNetworkDriver driver, NetworkConnection connection, DataStreamReader strm) { GetResultsResponseData responseReceived = new GetResultsResponseData(strm); ClientController.PlayerState playerState = (ClientController.PlayerState)responseReceived.playerState; PlayerTurnData.UIColors playerColor = (PlayerTurnData.UIColors)responseReceived.playerColor; TimeLogger.Log("CLIENT {0} - {3} - response - GetResults ({1} at {2})", ((ClientCommunication)owner).ClientId, playerState, responseReceived.playerPosition, playerColor); GetResultsEvent?.Invoke(playerState, responseReceived.playerPosition, playerColor); }
/////////////////////////////// /////////////////// Public API public void SetRole(ClientController.PlayerState role) { currentRole = role; RoleData data; if (!roles.TryGetValue(role, out data)) { throw new System.Exception(string.Format("Role {0} is not a valid player game role", role)); } _UIicon.sprite = data.icon; _UIrole.text = data.roleText; _UIobjective.text = data.objectiveText; }
public TileData GetSpawnPointTileData(ClientController.PlayerState state) { TileData data; switch (state) { case ClientController.PlayerState.Alien: {} mapTiles.TryGetValue(alienNestCode, out data); return(data); case ClientController.PlayerState.Human: mapTiles.TryGetValue(humanDormCode, out data); return(data); default: throw new System.Exception(string.Format("Tile {0} has no spawn point", (ClientController.PlayerState)state)); } }
public void GlowPossibleMovements(string tileCode, int movement, ClientController.PlayerState role) { _boardManager.GlowPossibleMovements(tileCode, movement, role); }
void GetResultsEventCallback(ClientController.PlayerState playerState, Vector2Int playerPosition, PlayerTurnData.UIColors playerColor) { GetResultsEvent?.Invoke(playerState, playerPosition, playerColor); }
/// <summary> /// This constructor is for WRAPPING the data to make a request /// </summary> public GetResultsResponseData(int playerId, int playerColor, ClientController.PlayerState playerState, Vector2Int playerPosition){ this.playerId = playerId; this.playerColor = playerColor; this.playerState = (int) playerState; this.playerPosition = playerPosition; }
// CLIENT - Role UI ///////////////////////// public void SetPlayerRole(ClientController.PlayerState role) { roleUI.SetRole(role); }