コード例 #1
0
    // Update is called once per frame
    void Update()
    {
        Horizontal = Input.GetAxis("Horizontal");
        Vertical   = Input.GetAxis("Vertical");

        if (Horizontal != 0 || Vertical != 0)
        {
            OnMove(Horizontal, Vertical);
        }

        //Liberarse Trampa
        if (trapped)
        {
            //Izquierda
            if (Input.GetKeyDown(KeyCode.A) || Input.GetKeyDown(KeyCode.LeftArrow))
            {
                Liberarse?.Invoke("Left");
            }
            else if (Input.GetKeyDown(KeyCode.D) || Input.GetKeyDown(KeyCode.RightArrow))
            {
                Liberarse?.Invoke("Right");
            }
        }

        //Pausar o despausar juego
        if (Input.GetButtonDown("Pause"))
        {
            PauseGame?.Invoke();
        }
    }
コード例 #2
0
        public static void Notify(object sender, GameEventArgs e)
        {
            switch (e.type)
            {
            case START_GAME:
                StartGame?.Invoke(sender, e);
                break;

            case PAUSE_GAME:
                PauseGame?.Invoke(sender, e);
                break;

            case RESUME_GAME:
                ResumeGame?.Invoke(sender, e);
                break;

            case STOP_GAME:
                StopGame?.Invoke(sender, e);
                break;

            case RESTART_GAME:
                RestartGame?.Invoke(sender, e);
                break;

            case START_MINI_GAME:
                StartMiniGame?.Invoke(sender, e);
                break;

            case END_MINI_GAME:
                EndMiniGame?.Invoke(sender, e);
                break;
            }
        }
コード例 #3
0
    void Update()
    {
        if (_isPlaying)
        {
            Time.timeScale = 1f;
            _time         += Time.deltaTime;
            timePlaying    = System.TimeSpan.FromSeconds(_time);
        }

        if (!_haslost && !_hasWon)
        {
            if (Input.GetKeyDown(KeyCode.Escape))
            {
                if (!_pause && _isPlaying)
                {
                    _pause     = true;
                    _isPlaying = false;
                    PauseGame?.Invoke(_pause);
                }
                else
                {
                    _pause     = false;
                    _isPlaying = true;
                    PauseGame?.Invoke(_pause);
                }
            }
        }
    }
コード例 #4
0
        /// <summary>
        /// Use it for notify from EventTrigger Component. Requires to be component on GameObject!
        /// </summary>
        /// <param name="sender">The sender object.</param>
        /// <param name="e">Event arguments</param>
        public void Notify(string type)
        {
            switch (type)
            {
            case START_GAME:
                StartGame?.Invoke(null, new GameEventArgs(type));
                break;

            case PAUSE_GAME:
                PauseGame?.Invoke(null, new GameEventArgs(type));
                break;

            case RESUME_GAME:
                ResumeGame?.Invoke(null, new GameEventArgs(type));
                break;

            case STOP_GAME:
                StopGame?.Invoke(null, new GameEventArgs(type));
                break;

            case RESTART_GAME:
                RestartGame?.Invoke(null, new GameEventArgs(type));
                break;

            case START_MINI_GAME:
                StartMiniGame?.Invoke(null, new GameEventArgs(type));
                break;

            case END_MINI_GAME:
                EndMiniGame?.Invoke(null, new GameEventArgs(type));
                break;
            }
        }
コード例 #5
0
 private void RaisePauseGame(bool pause)
 {
     _gamePaused = pause;
     if (PauseGame != null)
     {
         PauseGame.Invoke(_gamePaused);
     }
 }
コード例 #6
0
 public void GamePause(bool pauseStatus)
 {
     onTogglePauseGame.Invoke(pauseStatus);
     if (pauseStatus)
     {
         Time.timeScale = 0.0F;
     }
     else
     {
         Time.timeScale = 1.0f;
     }
 }
コード例 #7
0
 private void GamePause(bool pause)
 {
     onTogglePauseGame.Invoke(pause);
     if (pause)
     {
         Time.timeScale = 0.0F;
     }
     else
     {
         Time.timeScale = 1.0f;
     }
 }
コード例 #8
0
 public TetrisViewModel()
 {
     New = new DelegateCommand((object obj) => {
         int size = Convert.ToInt32(obj);
         NewGame?.Invoke(this, size);
     });
     Save = new DelegateCommand(_ =>
     {
         SaveGame?.Invoke(this, null);
     });
     Load = new DelegateCommand(_ =>
     {
         LoadGame?.Invoke(this, null);
     });
     Pause = new DelegateCommand(_ =>
     {
         PauseGame?.Invoke(this, null);
     });
     PlayingArea = new ObservableCollection <Field>();
 }
コード例 #9
0
    public void ExecutePauseButton()
    {
        // Set game as paused
        gamePaused = true;

        // Hide menu screen
        HideMenuScreen();
        // Hide home extra buttons
        HideHomeExtraButtons();

        // Show home screen
        ShowHomeScreen();
        // Show home text
        ShowHomeText(false, false);

        // Fire Event: PauseGame
        PauseGame?.Invoke();

        // Fire event: Button was clicked
        ButtonWasClicked?.Invoke();
    }
コード例 #10
0
 public static void OnPauseGame()
 {
     PauseGame?.Invoke();
 }
コード例 #11
0
ファイル: GameManager.cs プロジェクト: KillerBeing/3DShooter
 public void CallPauseGame() => PauseGame?.Invoke();