/// <summary> /// /// </summary> /// <param name="Player"></param> /// <param name="guid"></param> /// <param name="findFreeLocationAndPlacePlayer">Ustaw na false aby Game Master nie przydzielal znalezionego przez siebie miejsca i nie ustawial gracza na pozycji</param> public void RegisterPlayer(Player.Player Player, string guid = null, bool findFreeLocationAndPlacePlayer = true) { Player.GUID = guid != null ? guid: Guid.NewGuid().ToString(); Player.SetBoard(new GameObjects.GameBoard((int)GetGameDefinition.BoardWidth, (int)GetGameDefinition.TaskAreaLength, (int)GetGameDefinition.GoalAreaLength)); if (findFreeLocationAndPlacePlayer) { var playerField = GetEmptyFieldForPlayer(Player.Team); Player.SetLocation(playerField); playerField.Player = new GameObjects.Player(Player.ID, Player.Team); } Players.Add(Player); ConsoleWriter.Show("Registered Player with params: GUID: " + Player.GUID + ", ID: " + Player.ID + " , Location: " + Player.Location + ", Team: " + Player.Team); if (Players.Count == 2 * GetGameDefinition.NumberOfPlayersPerTeam) { State = GameMasterState.GameInprogress; PrintBoardState(); } }