Exemple #1
0
        // proceed to next stage
        private IEnumerator nextStage(float waitTime)
        {
            yield return(new WaitForSeconds(waitTime));

            SceneManager.LoadScene("Level3");
            GameStatus.GetInstance().StageLevel = 3;
        }
Exemple #2
0
        // Use this for initialization
        void Start()
        {
            spawnedEnemy  = 0;
            _stageCleared = false;


            if (GameStatus.GetInstance().PowerUp)
            {
                GameObject.FindGameObjectWithTag("Player").GetComponent <MovePlayer>().PowerUp = true;
                GameStatus.GetInstance().PowerUp = false;
            }

            /**
             * position.x between -4 ~ 4  enemy number: 30
             */
            StartCoroutine(spwanEnemy(enemyType1, new Vector3(-4, 8, 0), 1.0f));
            StartCoroutine(spwanEnemy(enemyType1, new Vector3(0, 8, 0), 2.0f));
            StartCoroutine(spwanEnemy(enemyType1, new Vector3(4, 8, 0), 3.0f));
            StartCoroutine(spwanEnemy(enemyType1, new Vector3(-1, 8, 0), 4.0f));
            StartCoroutine(spwanEnemy(enemyType1, new Vector3(2, 8, 0), 4.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(0, 8, 0), 5.0f));

            StartCoroutine(spwanEnemy(enemyType2, new Vector3(-4, 8, 0), 7.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(4, 8, 0), 7.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(-3, 8, 0), 8.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(3, 8, 0), 8.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(-2, 8, 0), 9.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(2, 8, 0), 9.0f));

            StartCoroutine(spwanEnemy(enemyType1, new Vector3(-4, 8, 0), 11.0f));
            StartCoroutine(spwanEnemy(enemyType1, new Vector3(0, 8, 0), 12.0f));
            StartCoroutine(spwanEnemy(enemyType1, new Vector3(4, 8, 0), 13.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(-1, 8, 0), 14.0f));
            StartCoroutine(spwanEnemy(enemyType1, new Vector3(2, 8, 0), 14.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(0, 8, 0), 15.0f));

            StartCoroutine(spwanEnemy(enemyType2, new Vector3(-2, 8, 0), 17.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(2, 8, 0), 17.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(-3, 8, 0), 18.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(3, 8, 0), 18.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(-4, 8, 0), 19.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(4, 8, 0), 19.0f));

            StartCoroutine(spwanEnemy(enemyType1, new Vector3(-4, 8, 0), 20.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(-2, 8, 0), 21.0f));
            StartCoroutine(spwanEnemy(enemyType1, new Vector3(-3, 8, 0), 22.0f));
            StartCoroutine(spwanEnemy(enemyType1, new Vector3(4, 8, 0), 24.0f));
            StartCoroutine(spwanEnemy(enemyType2, new Vector3(2, 8, 0), 25.0f));
            StartCoroutine(spwanEnemy(enemyType1, new Vector3(3, 8, 0), 26.0f));

            /**
             * Stage Boss
             */
            StartCoroutine(spwanEnemy(boss, new Vector3(0, 8, 0), 32.0f));

            /**
             * Items
             */
            StartCoroutine(dropItem(6.0f));
        }
        void OnCollisionEnter2D(Collision2D coll)
        {
            string tag = coll.collider.gameObject.tag;

            if (tag == "pick_coin")
            {
                string coinKind = coll.collider.gameObject.name;
                switch (coinKind)
                {
                case "Gold Coin":
                    _goldCoin++;
                    GameStatus.GetInstance().GoldCoins++;
                    print(coinKind + ": " + _goldCoin);
                    break;

                case "Silver Coin":
                    _silverCoin++;
                    GameStatus.GetInstance().SilverCoins++;
                    print(coinKind + ": " + _silverCoin);
                    break;

                case "Bronze Coin":
                    _bronzeCoin++;
                    GameStatus.GetInstance().BronzeCoins++;
                    print(coinKind + ": " + _bronzeCoin);
                    break;
                }

                Destroy(coll.collider.gameObject);
            }
        }
 private void ResetGameStatus()
 {
     GameStatus.GetInstance().NumLives    = 3;
     GameStatus.GetInstance().PlayerLevel = 0;
     GameStatus.GetInstance().Score       = 0;
     GameStatus.GetInstance().StageLevel  = 1;
 }
 private void Update()
 {
     // Change Stage when reach to certain score.
     if (GameStatus.GetInstance().Score >= 100 && GameStatus.GetInstance().StageLevel == 1)
     {
         SceneManager.LoadScene("Level2");
         GameStatus.GetInstance().StageLevel = 2;
     }
 }
Exemple #6
0
 // Update is called once per frame
 void Update()
 {
     GameObject.Find("Result").GetComponent <Text>().text =
         "Gold Coins: " +
         GameStatus.GetInstance().GoldCoins +
         "  Silver Coins: " +
         GameStatus.GetInstance().SilverCoins +
         "  Bronze Coins: " +
         GameStatus.GetInstance().BronzeCoins;
 }
        // Update is called once per frame
        void Update()
        {
            if (GameStatus.GetInstance() == null)
            {
                return;
            }

            GetComponent <Text>().text = "Score: " + GameStatus.GetInstance().Score
                                         + " Lives: " + GameStatus.GetInstance().NumLives + " Level: "
                                         + GameStatus.GetInstance().PlayerLevel;
        }
Exemple #8
0
        // proceed to next stage
        private IEnumerator nextStage(float waitTime)
        {
            yield return(new WaitForSeconds(waitTime));

            SceneManager.LoadScene("Level2");
            // save player power lvl before moving to next stage
            if (GameObject.FindGameObjectWithTag("Player").GetComponent <MovePlayer>().PowerUp == true)
            {
                GameStatus.GetInstance().PowerUp = true;
            }

            GameStatus.GetInstance().StageLevel = 2;
        }
        private void ReduceLive()
        {
            GameStatus.GetInstance().NumLives--;

            int live = GameStatus.GetInstance().NumLives;

            if (live >= 1)
            {
                Invoke("LoadScene", 2);
            }
            else
            {
                Invoke("LoadLose", 2);
            }
        }
Exemple #10
0
        private void ReduceLive()
        {
            // Camera Effect
            GameObject       go = GameObject.FindGameObjectWithTag("MainCamera");
            CameraController cc = go.GetComponent <CameraController>();

            cc.EnableShake();

            GameStatus.GetInstance().NumLives--;

            int live = GameStatus.GetInstance().NumLives;

            if (live >= 1)
            {
                Invoke("LoadScene", 2);
            }
            else
            {
                Invoke("LoadLose", 2);
            }
        }
Exemple #11
0
        private void ReduceLive()
        {
            if (StartInvincibility == false)
            {
                GameStatus.GetInstance().NumLives--;
            }

            StartInvincibility = true;
            Debug.Log(GameStatus.GetInstance().NumLives);

            int live = GameStatus.GetInstance().NumLives;

            if (live >= 1)
            {
                this.gameObject.SetActive(true);
            }
            else
            {
                Invoke("LoadLose", 2);
            }
        }
 private void GetScore()
 {
     GameStatus.GetInstance().Score += _score;
 }
Exemple #13
0
 public void RecoverPlayer()
 {
     GameStatus.GetInstance().NumLives++;
 }
 // Use this for initialization
 void Start()
 {
     GameStatus.GetInstance().GoldCoins   = 0;
     GameStatus.GetInstance().SilverCoins = 0;
     GameStatus.GetInstance().BronzeCoins = 0;
 }
 public void SetManualScore(int _manualScore)
 {
     GameStatus.GetInstance().Score += _manualScore;
 }
        public float BulletVelocity = 1000.0f; //set the public field of initializing bullet's velocity.

        //public AudioClip FireSound;
        void Start()
        {
            PowerUp = GameStatus.GetInstance().PowerUp;
            //GetComponent<Rigidbody2D>().isKinematic = true;
        }
Exemple #17
0
 // Update is called once per frame
 void Update()
 {
     GetComponent <Text>().text = "Score: " + GameStatus.GetInstance().Score
                                  + " Lives: " + GameStatus.GetInstance().NumLives + " Level: "
                                  + GameStatus.GetInstance().PlayerLevel;
 }