Пример #1
0
    public void HandlePanels(Panel currentPanel)
    {
        switch (currentPanel)
        {
        case Panel.MainMenu:
            LobbyMainMenu.Show();
            break;

        case Panel.CampaignMenu:
            CampaignMenu.Show();
            break;

        case Panel.InGame:
            ShowTopMenu(false);
            ShowBottomMenu(false);
            BattleHUD.Show();
            return;

        case Panel.LeaderBoards:
            Leaderboard.Show();
            break;

        case Panel.ArmyPanel:
            CardCollectionMenu.Show();
            break;

        case Panel.TasksPanel:
            TasksMenu.Show();
            break;

        case Panel.ShopPanel:
            IAPPanel.Show();
            break;

        case Panel.SocialPanel:
            SocialPanel.Show();
            break;

        default:
            LobbyMainMenu.Show();
            break;
        }
    }
Пример #2
0
    private UniRx.IObservable <Unit> HidePreviousPanel()
    {
        return(Observable.Create <Unit>(observer =>
        {
            if (PreviousPanel.Value == CurrentPanel.Value)
            {
                observer.OnCompleted();
                return null;
            }

            switch (PreviousPanel.Value)
            {
            case Panel.MainMenu:
                LobbyMainMenu.Hide();
                break;

            case Panel.CampaignMenu:
                CampaignMenu.Hide();
                break;

            case Panel.Lobby:
                this.lobbyPanel.SetActive(false);
                break;

            case Panel.InGame:
                BattleHUD.Hide();
                BattleResultsPanel.Hide();
                break;

            case Panel.LeaderBoards:
                Leaderboard.Hide();
                break;

            case Panel.ArmyPanel:
                CardCollectionMenu.Hide();
                break;

            case Panel.ShopPanel:
                IAPPanel.Hide();
                break;

            case Panel.TasksPanel:
                TasksMenu.Hide();
                break;

            case Panel.ServerPanel:
                this.serverPanel.SetActive(false);
                break;

            case Panel.SocialPanel:
                SocialPanel.Hide();
                break;

            case Panel.BattleResultsPanel:
                BattleResultsPanel.Hide();
                break;

            default:
                Debug.LogError("Unsupported panel: " + PreviousPanel);
                break;
            }

            observer.OnCompleted();
            return null;
        }));
    }
Пример #3
0
    protected void Start()
    {
        if (SocialBtn == null)
        {
            Debug.LogError("Please add a Social Btn in main menu controller");
        }
        if (QuitBtn == null)
        {
            Debug.LogError("Please add a QuitBtn in main menu controller");
        }
        if (SettingsBtn == null)
        {
            Debug.LogError("Please add a SettingsBtn in main menu controller");
        }
        if (SocialPanel == null)
        {
            Debug.LogError("SocialPanel is missing in main menu controller");
        }


        //Refactor this soon, just make as shortcut for now
        if (SettingsBtn != null)
        {
            SettingsBtn.onClick.AddListener(delegate
            {
                SettingsPanel.SetActive(true);
                SocialBtn.GetComponent <AudioSource>().Play();
            });
        }
        if (QuitBtn != null)
        {
            QuitBtn.onClick.AddListener(delegate
            {
                QuitBtn.GetComponent <AudioSource>().Play();
                //Instantiate the modal
                var modal = new Modal("QUIT", "Do you want to quit?", Modal.Type.QuitGame);
                modal.AddConfirmListener(() => Application.Quit());
                modal.AddCancelListener(() => Destroy(modal.GetReference()));
                modal.Render();
            });
        }

        if (SocialBtn != null)
        {
            SocialBtn.onClick.AddListener(delegate
            {
                if (!SocialPanel.activeSelf)
                {
                    SocialPanel.SetActive(true);
                }

                SocialBtn.GetComponent <AudioSource>().Play();
                if (!SocialPanel.GetComponent <UI_Social>().isActive)
                {
                    SocialPanel.GetComponent <Animator>().SetTrigger("SlideIn");
                    SocialPanel.GetComponent <UI_Social>().isActive = true;
                }
                else
                {
                    SocialPanel.GetComponent <UI_Social>().isActive = false;
                    SocialPanel.GetComponent <Animator>().SetTrigger("SlideOut");
                }
            });
        }
    }