示例#1
0
    public void SetANewScreen(ScreensEnum Screen)
    {
        Screens screens = GetCorrectScreen(Screen);

        if (CurrentScreen == ScreensEnum.GetMoreLives)
        {
            ScreenStack.Push(ScreensEnum.GamePlay);
            PreviousScreen = ScreensEnum.GamePlay;
        }
        else
        {
            if (!screens.CanGoBackFromScreen)
            {
                PreviousScreen = Screen;
                ScreenStack.ClearStack();
            }
            else
            {
                ScreenStack.Push(CurrentScreen);
                PreviousScreen = CurrentScreen;
            }
        }

        ShowScreen(Screen);
    }
示例#2
0
 public void LoadControl(ScreensEnum screenType)
 {
     if (screenType == ScreensEnum.MainScreen)
     {
         if (Controls.Count > 0)
         {
             this.Controls.Remove(ActiveControl);
         }
         _mainScreenUserControl.Dock = DockStyle.Fill;
         this.Controls.Add(_mainScreenUserControl);
     }
     else if (screenType == ScreensEnum.VisitorScreen)
     {
         if (Controls.Count > 0)
         {
             this.Controls.Remove(ActiveControl);
         }
         _visitorsMenuUserControl.Dock = DockStyle.Fill;
         this.Controls.Add(_visitorsMenuUserControl);
     }
     else if (screenType == ScreensEnum.TeamsMain)
     {
         if (Controls.Count > 0)
         {
             this.Controls.Remove(ActiveControl);
         }
         teamsUserControl.Dock = DockStyle.Fill;
         this.Controls.Add(teamsUserControl);
     }
 }
示例#3
0
    private Screens GetCorrectScreen(ScreensEnum Screen)
    {
        Screens screen = null;

        for (int i = 0; i < Screens.Count; i++)
        {
            if (Screens[i].Screen == Screen)
            {
                screen = Screens[i];
                break;
            }
        }

        return(screen);
    }
示例#4
0
    private void ShowScreen(ScreensEnum Screen, bool isBack = false)
    {
        Screens screens = GetCorrectScreen(Screen);

        if (isBack)
        {
            if (screens.CanGoBackFromScreen)
            {
                if (!ScreenStack.IsStackEmpty())
                {
                    Screen  = ScreenStack.Pop();
                    screens = GetCorrectScreen(Screen);
                    Debug.Log("Screen = " + Screen.ToString());
                }
            }
            else
            {
                return;
            }
        }

        if (Screen != ScreensEnum.Settings && Screen != ScreensEnum.Login)
        {
            HideAllScreens();
        }
        UIManager.Instance.HideIntro();

        CurrentScreen = Screen;

        if (screens.Screen == ScreensEnum.GetMoreLives && isBack)
        {
            screens.Screen = ScreensEnum.GamePlay;
        }

        if (screens.Screen == ScreensEnum.GamePlay)
        {
            //ShowQuestionPanel();
            GameManager.Instance.Resume();
            if (GameManager.Instance.ToStoreFromGameplayDueToLackOfFunds)
            {
                GameManager.Instance.ToStoreFromGameplayDueToLackOfFunds = false;
                GameManager.Instance.PlayGame();
            }
        }
        else
        {
            GameManager.Instance.Pause();
            //HideQuestionPanel();
        }

        if (screens.Screen == ScreensEnum.MainMenu)
        {
            GameManager.Instance.ToStoreFromGameplayDueToLackOfFunds = false;
            UIManager.Instance.ShowMainMenuItems();
        }
        else
        {
            UIManager.Instance.HideMainMenuItems();
        }

        if (screens.Screen == ScreensEnum.Login)
        {
            UIManager.Instance.HideGamePlayButtons();
        }


        screens.ScreenObj.Show();
    }
示例#5
0
 private void Start()
 {
     ScreenStack   = new Stack_Sourav <ScreensEnum>();
     CurrentScreen = ScreensEnum.MainMenu;
     SetANewScreen(ScreensEnum.MainMenu);
 }