예제 #1
0
        public void Update(GameTime gameTime)
        {
            switch (panelState)
            {
            case PickerPanelState.Closed:
                if (StorageManager.Instance.IsRefreshRequired)
                {
                    StorageManager.Instance.RefreshSaveGameDescriptions();
                    StorageManager.Instance.IsRefreshRequired = false;
                }

                if (PuzzleEngine.IsOnReplay)
                {
                    PuzzleEngine.ResetCurrentPuzzleOnReplay();

                    Session.QuickSave();

                    PuzzleEngine.IsOnReplay = false;
                }

                if (isReadyForPuzzle)
                {
                    isReadyForPuzzle = false;
                    parentScreen.IsReadyForPuzzle = true;
                }
                break;

            case PickerPanelState.Opening:
                basePosition.Y += SPEED_PANEL;
                if (basePosition.Y >= ANCHOR_PANELOPEN_Y)
                {
                    basePosition.Y = ANCHOR_PANELOPEN_Y;
                    panelState     = PickerPanelState.Open;
                }
                break;

            case PickerPanelState.Open:
                parentScreen.HelpPanel.On();
                updateRotation(gameTime);
                pickerConsole.Update(gameTime);
                break;

            case PickerPanelState.Closing:
                basePosition.Y -= SPEED_PANEL;
                if (basePosition.Y <= ANCHOR_PANELCLOSED_Y)
                {
                    basePosition.Y = ANCHOR_PANELCLOSED_Y;
                    panelState     = PickerPanelState.Closed;
                }
                break;
            }
        }
예제 #2
0
 public void Close()
 {
     AudioManager.PlayCue("trackSlide");
     panelState = PickerPanelState.Closing;
 }
예제 #3
0
 public void Open()
 {
     AudioManager.PlayCue("trackSlide");
     panelState = PickerPanelState.Opening;
 }