コード例 #1
0
 private void CheckRunState(GameRunState requiredState)
 {
     if (this.RunState != requiredState)
     {
         throw new InvalidOperationException();
     }
 }
コード例 #2
0
    public float backDistance = 0;        //huigunjuli

    public GameRunState(GameManager mgr)
    {
        manager = mgr;
        manager.gesture.transform.gameObject.SetActive(true);           //游戏开始后,显示提示
        scrollManager = GameObject.FindObjectOfType <ScrollManager> ();
        Vector3 tempVec = new Vector3(Random.Range(0.1f, 1.2f), -0.3f); //随机生成障碍物的位置

        manager.obstacleList [0].SetActive(true);                       //将当前场景中的第一个障碍物激活
        manager.obstacleList [0].transform.position = tempVec;
        _player = GameObject.Instantiate(manager.playerPrefab, new Vector3(0, -3.6f), Quaternion.identity) as GameObject;
        #region

        /*if(player != null)
         * {
         *      Debug.Log("player instatiate successful!!");
         * }
         * else
         * {
         *      Debug.Log("player instatiate faild!");
         * }*/
        #endregion
        manager.player = _player;
        playerManager  = _player.GetComponent <PlayerManager> ();
        //playerManager=manager.player.GetComponent<PlayerManager>();
        layerInt = LayerMask.GetMask("TriggerPad");      //TriggerPad层的ID
        instance = this;
        manager.scoreManager.Score = 0;
        Debug.Log("layer int:" + layerInt);
        Debug.Log("开始game run state状态");
    }
コード例 #3
0
        public void Stop()
        {
            this.CheckRunState(GameRunState.Stopping);

            foreach (var service in this.services)
            {
                service.Stop();
            }

            this.RunState = GameRunState.Stopped;
        }
コード例 #4
0
        public void Start()
        {
            this.CheckRunState(GameRunState.Initialised);

            foreach (var service in this.services)
            {
                service.Start();
            }

            this.RunState = GameRunState.Running;
        }
コード例 #5
0
        public void Initialise()
        {
            this.CheckRunState(GameRunState.PreInitialise);

            foreach (var service in this.services)
            {
                service.Initialise(this);
            }

            this.RunState = GameRunState.Initialised;
        }
コード例 #6
0
        public void SignalStop()
        {
            this.CheckRunState(GameRunState.Running);

            this.RunState = GameRunState.Stopping;
        }
コード例 #7
0
ファイル: GameState.cs プロジェクト: ip/pinball
        public void EndGame()
        {
            runState = GameRunState.Over;

            EventManager.instance.OnGameOver?.Invoke();
        }
コード例 #8
0
ファイル: GameState.cs プロジェクト: ip/pinball
        public void RestartGame(bool isBotMode)
        {
            runState = GameRunState.Running;

            EventManager.instance.OnGameStart?.Invoke(isBotMode);
        }