// Constructor public GameManager(int numPlayers, GameMap gameMap) { this.numPlayers = numPlayers; // All the start positions, 2 spaces from the corners of the board Vector3Int[] startLocations = { new Vector3Int(0, gameMap.mapRadius - 2, -(gameMap.mapRadius - 2)), new Vector3Int(0, -(gameMap.mapRadius - 2), gameMap.mapRadius - 2), new Vector3Int(-(gameMap.mapRadius - 2), gameMap.mapRadius - 2, 0), new Vector3Int(gameMap.mapRadius - 2, -(gameMap.mapRadius - 2), 0), new Vector3Int(-(gameMap.mapRadius - 2), 0, gameMap.mapRadius - 2), new Vector3Int(gameMap.mapRadius - 2, 0, -(gameMap.mapRadius - 2)) }; // Create players for (int i = 0; i < numPlayers; i++) { Vector3Int startTileCoords = Hex.HexToTileCoords(startLocations[i]); Player newPlayer = new Player(i, startTileCoords, gameMap, this); gameMap.AddPiece(GamePiece.CreateCastle(newPlayer), startTileCoords); // Add new player to list players.Add(newPlayer); } }