Пример #1
0
        private async void OnTutorialButtonClick()
        {
            this.transform.Find("Container").gameObject.SetActive(false);
            SinglePlayerGameData data = await LobbyServerApi.CreateTutorialGame();

            Main.StartTutorialGame(data.gameServerId, data.playerId, data.aiId);
        }
Пример #2
0
        private async void OnCreateGameButtonClick()
        {
            string player1DeckId = deckIds[player1DeckDropdown.value];
            string player2DeckId = deckIds[player2DeckDropdown.value];

            await LobbyServerApi.CreateGame(player1DeckId, player2DeckId);

            UpdateGames();
        }
Пример #3
0
        private async void OnButtonClick(GameObject deckButton)
        {
            var value = deckButton.GetComponent <ButtonValue>().value;

            if (ChooseDeck.isSinglePlayer)
            {
                this.transform.Find("Decs").gameObject.SetActive(false);
                SinglePlayerGameData data = await LobbyServerApi.CreateSinglePlayerGame(value);

                Main.StartGame(data.gameServerId, data.playerId, data.aiId);
            }
            else
            {
                FindingOpponent.deckId = value;
                SceneManager.LoadScene("FindingOpponent");
            }
        }
Пример #4
0
        async void Start()
        {
            googleAnalytics.LogScreen("Finding opponent");

            var backButton = this.transform.Find("BackButton").GetComponent <Button>();

            backButton.onClick.AddListener(this.OnBackButtonClick);

            var response = await LobbyServerApi.FindOpponent(deckId);

            if (response.gameFound)
            {
                Main.StartGame(response.gameId, response.playerId, response.opponentId);
            }
            else
            {
                this.transform.Find("FindingOpponent").GetComponent <TextMeshProUGUI>().text = "Game not found";
            }
        }
Пример #5
0
        async void Start()
        {
            googleAnalytics.LogScreen("Choose deck");

            DecksData decksData = await LobbyServerApi.GetPlayerDecks <DecksData>();

            foreach (DeckData deck in decksData.Decks)
            {
                var deckButton = this.CreateButton();
                deckButton.transform.Find("Text").GetComponent <Text>().text = deck.name;
                deckButton.GetComponent <ButtonValue>().value = deck._id;

                deckButton.GetComponent <Button>().onClick.AddListener(() => this.OnButtonClick(deckButton));
            }

            var backButton = this.CreateButton();

            backButton.transform.Find("Text").GetComponent <Text>().text = "Main menu";
            backButton.GetComponent <Button>().onClick.AddListener(this.OnBackButtonClick);
        }
Пример #6
0
        private async void UpdateDropdowns()
        {
            DecksData decksData = await LobbyServerApi.GetDecks <DecksData>();

            List <Dropdown.OptionData> options = new List <Dropdown.OptionData>();

            deckIds = new List <string>();

            foreach (DeckData deck in decksData.Decks)
            {
                deckIds.Add(deck._id);

                Dropdown.OptionData option = new Dropdown.OptionData();
                option.text = deck.name;
                options.Add(option);
            }

            player1DeckDropdown.ClearOptions();
            player1DeckDropdown.AddOptions(options);

            player2DeckDropdown.ClearOptions();
            player2DeckDropdown.AddOptions(options);
        }
Пример #7
0
        private async void UpdateGames()
        {
            var lobbyGames = this.transform.Find("LobbyGames");

            foreach (Transform child in lobbyGames)
            {
                GameObject.Destroy(child.gameObject);
            }

            GamesData gamesData = await LobbyServerApi.GetGames <GamesData>();

            foreach (GameData game in gamesData.Games)
            {
                GameObject lobbyGame = Instantiate <GameObject>(this.lobbyGame, lobbyGames);
                lobbyGame.transform.SetParent(lobbyGames.transform);

                LobbyGame lobbyGameComponent = lobbyGame.GetComponent <LobbyGame>();

                lobbyGameComponent.lobbyGameId  = game._id;
                lobbyGameComponent.gameServerId = game.gameServerId;
                lobbyGameComponent.deckName1    = game.deckName1;
                lobbyGameComponent.deckName2    = game.deckName2;
            }
        }
Пример #8
0
        private async void OnDeleteGameHandler(LobbyGame lobbyGame)
        {
            await LobbyServerApi.DeleteGame(lobbyGame.lobbyGameId);

            UpdateGames();
        }