Esempio n. 1
0
    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;
            }
        }
    }
Esempio n. 2
0
    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 = "";
        }
    }
Esempio n. 3
0
    /// <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 = "";
        }
    }