public void PlayButtonAction() { // check if given nickname is valid NameStatus status = NameValid(nickField.text); if (status == NameStatus.Valid) { bannerAnim.SetBool("Show", true); playerTeam.leader = nickField.text; } else { switch (status) { case NameStatus.WrongLength: { MessageDialog.Create().Show("Podany niepoprawny nick!\nMusi mieć minimum 2 i maksimum 20 znaków."); } break; case NameStatus.WrongCharacters: { MessageDialog.Create().Show("Nick nie może zawierać spacji oraz przecinków!"); } break; default: { MessageDialog.Create().Show("Niepoprawny nick!"); } break; } } }
public void EnterRoom() { roomName = roomNameField.text; if (NameValid(roomName) != NameStatus.Valid) { MessageDialog.Create(35, 25).Show("Nazwa pokoju musi składać się z 2-20 znaków!"); return; } try { PlayerManager pm = new PlayerManager(); List <string> playerList; int port = pm.addPlayer(roomName, "", playerTeam.leader, out playerList); bool result = port == -1 ? false : true; if (result) { playerTeam.isAdmin = false; Debug.Log("Entered room successfully!"); StartCoroutine(lobby.WaitForServerCommands(port)); // place players on their slots for (int i = 0; i < playerList.Count; i++) { slots[i].playerNameText.text = playerList[i]; } playerTeam.nr = playerList.Count; createLobbyDialog.SetActive(false); roomDialog.SetActive(true); if (gameStartButton && playerTeam.isAdmin) { gameStartButton.gameObject.SetActive(true); } else { gameStartButton.gameObject.SetActive(false); } lobbyText.text = roomName; // if (slots.Length > 0) // slots[0].Occupy(playerTeam, null); } else { MessageDialog.Create().Show("Nie udało się dołączyć do pokoju '" + roomName + "'"); roomName = ""; } } catch (Exception e) { Debug.LogError("Server exception: " + e.StackTrace); MessageDialog.Create().Show("Nie udało się dołączyć do pokoju '" + roomName + "'"); roomName = ""; } }
/// <summary>Method creates a lobby for players to join.</summary> public void CreateRoom() { roomName = roomNameField.text; if (NameValid(roomName) != NameStatus.Valid) { Debug.Log("WRONG ROOM NAME!"); MessageDialog.Create(35, 25).Show("Nazwa pokoju musi składać się z 2-20 znaków!"); return; } Debug.Log("CREATING NEW ROOM " + roomName + " for " + playerTeam.leader); try { RoomManager rm = new RoomManager(); int port = rm.addRoom(playerTeam.leader, roomName, 4); bool result = port == -1 ? false : true; if (result) { Debug.Log("Room creation successful"); StartCoroutine(lobby.WaitForServerCommands(port)); playerTeam.isAdmin = true; createLobbyDialog.SetActive(false); roomDialog.SetActive(true); lobbyText.text = roomName; if (gameStartButton && playerTeam.isAdmin) { gameStartButton.gameObject.SetActive(true); } else { gameStartButton.gameObject.SetActive(false); } playerTeam.isAdmin = true; if (slots.Length > 0) { slots[0].Occupy(playerTeam, null); } } else { MessageDialog.Create().Show("Serwer nie odpowiada. Spróbuj ponownie później."); roomName = ""; } } catch (Exception e) { Debug.LogError("Server exception: " + e.StackTrace); MessageDialog.Create().Show("Serwer nie odpowiada. Spróbuj ponownie później."); roomName = ""; } }