}//

    void PlayerDead()
    {
        if (is_Cannibal)
        {
            enemy_Anim.Dead();
            GetComponent <Animator>().enabled      = false;
            GetComponent <BoxCollider>().isTrigger = false;
            //GetComponent<Rigidbody>().AddTorque(-transform.forward * 50f);
            enemy_Controller.enabled = false;
            navAgent.enabled         = false;
            enemy_Anim.enabled       = false;
            StartCoroutine(playDeadSound());
            Score += 5;

            // print("Cannibal Dead");

            //EnemyManager Spawn more Enemies

            EnemyManager.instance.EnmeyDied(true);
        }
        if (is_Boar)
        {
            navAgent.velocity        = Vector3.zero;
            navAgent.isStopped       = true;
            enemy_Controller.enabled = false;
            enemy_Anim.Dead();
            Score += 2;


            StartCoroutine(playDeadSound());
            //EnemyManager Spawn more Enemies
            EnemyManager.instance.EnmeyDied(false);
        }
        if (is_Player)
        {
            GameObject[] enemies = GameObject.FindGameObjectsWithTag(Tags.ENEMY_TAG);
            for (int i = 0; i < enemies.Length; i++)
            {
                enemies[i].GetComponent <EnemyController>().enabled = false;
            }
            GetComponent <PlayerMovement>().enabled = false;
            GetComponent <PlayerAttack>().enabled   = false;
            GetComponent <WeaponManager>().GetCurrentWeapon().gameObject.SetActive(false);
            EnemyManager.instance.StopSpawning();
            if (PlayerPrefs.GetInt("BestScore") > Score)
            {
                PlayerPrefs.SetInt("BestScore", Score);
            }
            Cursor.lockState = CursorLockMode.None;
            Cursor.visible   = true;
        }
        if (tag == Tags.PLAYER_TAG)
        {
            Invoke("RestartGame", 5f);
        }
        else
        {
            Invoke("TurnOffGameObject", 5f);
        }
    }//
Example #2
0
    void TriggerDeath()
    {
        if (is_Wolf)
        {
            navAgent.velocity       = Vector3.zero;
            navAgent.isStopped      = true;
            enemy_Contrller.enabled = false;
            enemy_Anim.Dead();
        }
        if (is_Player)
        {
            GameObject[] enemies = GameObject.FindGameObjectsWithTag(Tags.ENEMY_TAG);
            for (int i = 0; i < enemies.Length; i++)
            {
                enemies[i].GetComponent <EnemyController>().enabled = false;
            }


            GetComponent <PlayerMovement>().enabled = false;
        }

        if (tag == Tags.PLAYER_TAG)
        {
            Invoke("RestartGame", 3f);
        }
        else
        {
            Invoke("TurnOffGameObject", 20f);
        }
    }
Example #3
0
    void PlayerDied()
    {
        if (is_Cannibal)
        {
            GetComponent <Animator>().enabled      = false;
            GetComponent <BoxCollider>().isTrigger = false;
            GetComponent <Rigidbody>().AddTorque(-transform.forward * 10f);            // Death animation improvised

            enemy_Controller.enabled = false;
            navAgent.enabled         = false;
            enemy_Anim.enabled       = false;

            // StartCoroutine
            StartCoroutine(DeadSound());

            // EnemyManager spawn more enemies
            EnemyManager.instance.EnemyDied(true);
        }
        else if (is_Boar)
        {
            navAgent.velocity        = Vector3.zero;
            navAgent.isStopped       = true;
            enemy_Controller.enabled = false;

            enemy_Anim.Dead();

            // StartCoroutine
            StartCoroutine(DeadSound());

            // EnemyManager spawn more enemies
            EnemyManager.instance.EnemyDied(false);
        }
        else if (is_Player)
        {
            GameObject[] enemies = GameObject.FindGameObjectsWithTag(Tags.ENEMY_TAG);

            for (int i = 0; i < enemies.Length; i++)
            {
                enemies[i].GetComponent <EnemyController>().enabled = false;
            }

            // call enemy manager to stop spawning enemies

            EnemyManager.instance.StopSpawning();
            GetComponent <PlayerMovement>().enabled = false;
            GetComponent <PlayerAttack>().enabled   = false;
            GetComponent <WeaponManager>().GetCurrentSelectedWeapon()
            .gameObject.SetActive(false);
        }

        if (tag == Tags.PLAYER_TAG)
        {
            Invoke("RestartGame", 3f);
        }
        else
        {
            Invoke("TurnOffGameObject", 3f);
        }
    }
Example #4
0
    private void PlayerDied()
    {
        //If player died
        if (enemyType == EnemyType.NONE)
        {
            //Player Dead sound + Game Over sound
            StartCoroutine("PlayerGameOverSound");

            //Animate camera to die
            playerAnimator.StartDeadAnimation();

            //Make the enemies ignore the died player.
            List <GameObject> enemies = LayerHelper.FindGameObjectInLayer(Tags.ENEMY_TAG);

            for (int i = 0; i < enemies.Count; i++)
            {
                EnemyController enemyCtrl = enemies[i].GetComponent <EnemyController>();
                if (enemyCtrl != null)
                {
                    enemyCtrl.enabled = false;
                }
            }

            //Call enemy manager to stop spawning enemies
            EnemyManager.instance.StopSpawning();

            GetComponent <PlayerMovement>().enabled = false;
            GetComponent <PlayerAttack>().enabled   = false;
            GetComponent <WeaponManager>().GetCurrentSelectedWeapon().gameObject.SetActive(false);
        }

        else //if enemy died
        {
            navMeshAgent.isStopped  = true;
            navMeshAgent.velocity   = Vector3.zero;
            enemyController.enabled = false;

            enemyAnimator.Dead();

            //StartCoroutine
            StartCoroutine(EnemyDeadSound());

            //Enemy Manager spawn more enemies
            EnemyManager.instance.EnemyDied(enemyType);
        }

        if (tag == Tags.PLAYER_TAG)
        {
            Invoke("RestartGame", 9f);
        }
        else
        {
            Invoke("TurnOffGameObject", timeBeforeDeadEnemyDisappear);
        }
    }
Example #5
0
    void PlayerDied()
    {
        //if it is the zombie
        if (is_Zombie)
        {
            //stop moving
            navAgent.velocity        = Vector3.zero;
            navAgent.isStopped       = true;
            enemy_Controller.enabled = false;
            //play the dead animation
            enemy_Anim.Dead();
            //play enemy death sound
            StartCoroutine(DeadSound());
            //deactivate the zombie after 10 seconds
            Invoke("TurnOffGameObject", 10f);

            //disable box collider. if we keep them,
            //we can keep shooting the area over the corpse and still have
            //the blood coming out. its a bug
            this.GetComponent <BoxCollider>().enabled = false;
        }

        //if it is the player
        if (is_Player)
        {
            //put the camera lower to mimic the player falling down
            transform.position = new Vector3(transform.position.x, transform.position.y - 0.9f, transform.position.z);

            GameObject[] enemies = GameObject.FindGameObjectsWithTag(Tags.ENEMY_TAG);
            //all the zombies stop moving
            for (int i = 0; i < enemies.Length; i++)
            {
                enemies[i].GetComponent <EnemyController>().enabled = false;
            }

            GetComponent <PlayerMovement>().enabled = false;
            GetComponent <PlayerAttack>().enabled   = false;
            GetComponent <WeaponManager>().GetCurrentSelectedWeapon().gameObject.SetActive(false);
            //stop the timeScale
            Time.timeScale = 0f;
            //game music gets deactivated
            music.enabled = false;
            //game over ui
            gameOverScreen.SetActive(true);
            Cursor.visible   = true;
            Cursor.lockState = CursorLockMode.None;

            //disable the pause game menu after the player died
            //otherwise we can press pause while the gameover ui is on
            // and have overlaping uis
            pauseMenuScript.GetComponent <PauseGame>().enabled = false;
        }
    }
Example #6
0
    private void PlayerDead()
    {
        if (isCannibal)
        {
            GetComponent <Animator>().enabled      = false;
            GetComponent <BoxCollider>().isTrigger = false;
            GetComponent <Rigidbody>().AddTorque(-transform.forward * 5f);

            _enemyController.enabled = false;
            _navAgent.enabled        = false;
            _enemyAnim.enabled       = false;

            StartCoroutine(DeadSound());

            EnemyManager.instance.EnemyDie(true);
        }
        if (isBoar)
        {
            _navAgent.velocity  = Vector3.zero;
            _navAgent.isStopped = true;

            _enemyController.enabled = false;

            _enemyAnim.Dead();

            StartCoroutine(DeadSound());

            EnemyManager.instance.EnemyDie(true);
        }

        if (isPlayer)
        {
            GameObject[] enemies = GameObject.FindGameObjectsWithTag(Tags.ENEMY_TAG);

            for (int i = 0; i < enemies.Length; i++)
            {
                enemies[i].GetComponent <EnemyController>().enabled = false;
            }
            EnemyManager.instance.StopSpawning();
            //stop spawning enemies
            GetComponent <PlayerMovement>().enabled = false;
            GetComponent <PlayerAttack>().enabled   = false;
            GetComponent <WeaponManager>().GetCurrentSelectedWeapon().gameObject.SetActive(false);
        }
        if (tag == Tags.PLAYER_TAG)
        {
            Invoke("RestartGame", 3f);
        }
        else
        {
            Invoke("TurnOffGameobject", 3f);
        }
    }
Example #7
0
    public void Died()
    {
        if (isCannibal)
        {
            GetComponent <Animator>().enabled      = false;
            GetComponent <BoxCollider>().isTrigger = false;
            GetComponent <Rigidbody>().AddTorque(-transform.forward * 20f);

            ec.enabled        = false;
            navAgent.enabled  = false;
            enemyAnim.enabled = false;


            StartCoroutine(DeadSound());
        }
        else if (isBoar)
        {
            navAgent.velocity  = Vector3.zero;
            navAgent.isStopped = true;
            ec.enabled         = false;
            enemyAnim.Dead();

            StartCoroutine(DeadSound());
        }
        else if (isPlayer)
        {
            GameObject[] enemies = GameObject.FindGameObjectsWithTag(Tags.ENEMY_TAG);
            foreach (var enemy in enemies)
            {
                enemy.GetComponent <EnemyController>().enabled = false;
            }

            GetComponent <PlayerMovement>().enabled = false;
            GetComponent <PlayerAttack>().enabled   = false;
            GetComponent <WeaponManager>().GetCurrentWeapon().gameObject.SetActive(false);
        }

        if (tag == Tags.PLAYER_TAG)
        {
            Invoke("RestartGame", 3);
        }
        else
        {
            Invoke("TurnOffGameObject", 3f);
        }
    }
Example #8
0
    } // apply damage

    void PlayerDied()
    {
        if (is_Boar)
        {
            navAgent.velocity        = Vector3.zero;
            navAgent.isStopped       = true;
            enemy_Controller.enabled = false;

            enemy_Anim.Dead();

            // start Coroutine - delay function
            StartCoroutine(DeadSound());

            // enemyManager spawn more enemies
            EnemyManager.instance.EnemyDied(true);
        }

        if (is_Player)
        {
            GameObject[] enemies = GameObject.FindGameObjectsWithTag(Tags.ENEMY_TAG);

            for (int i = 0; i < enemies.Length; i++)
            {
                enemies[i].GetComponent <EnemyController>().enabled = false;
            }

            // call enemy manager to stop spawning enemies;
            EnemyManager.instance.StopSpawning();

            GetComponent <PlayerMovement>().enabled = false;
            GetComponent <PlayerAttack>().enabled   = false;
            GetComponent <WeaponManager>().GetCurrentSelectedWeapon().gameObject.SetActive(false);
        }

        if (tag == Tags.PLAYER_TAG)
        {
            Invoke("RestartGame", 3f);
        }
        else
        {
            Invoke("TurnOffGameObject", 3f);
        }
    } // player die
Example #9
0
    private void Died()
    {
        if (isAnimal)
        {
            navMeshAgent.velocity   = Vector3.zero;
            navMeshAgent.isStopped  = true;
            enemyController.enabled = false;
            enemyAnimator.Dead();

            StartCoroutine(DeadSound());

            Invoke("TurnOffGameObject", 3f);

            EnemyManager.instance.EnemyDied(Enemies.Boar);
        }
        if (isPlayer)
        {
            playerStats.DisplayPoints();

            GameObject[] enemies = GameObject.FindGameObjectsWithTag(Tags.ENEMY);

            foreach (var enemy in enemies)
            {
                enemy.GetComponent <EnemyController>().enabled = false;
            }

            GetComponent <PlayerMovement>().enabled = false;
            GetComponent <PlayerAttack>().enabled   = false;
            if (GetComponent <WeaponManager>().GetCurrentWeapon() != null)
            {
                GetComponent <WeaponManager>().GetCurrentWeapon().gameObject.SetActive(false);
            }

            EnemyManager.instance.StopSpawning();

            Invoke("RestartGame", 3f);
        }
    }
    void Dead()
    {
        if (isBoar)
        {
            navAgent.velocity  = Vector3.zero; //Stop enemy movement
            navAgent.isStopped = true;         //Turn off nav agent

            enemyController.enabled = false;   //Turn off enemy movement script

            enemyAnim.Dead();                  //Play death animation

            //Start Coroutine
            StartCoroutine(DeathSound());

            //Spawn more enemies
            //EnemyManager.instance.EnemyDied(true); //Spawn cannibal
            EnemyManager.instance.EnemyDied(false); //Spawn boar
        }

        if (isCannibal)
        {
            navAgent.velocity  = Vector3.zero; //Stop enemy movement
            navAgent.isStopped = true;         //Turn off nav agent

            enemyController.enabled = false;   //Turn off enemy movement script

            enemyAnim.Dead();                  //Play death animation

            //Start Coroutine
            StartCoroutine(DeathSound());

            //Spawn more enemies
            EnemyManager.instance.EnemyDied(true); //Spawn cannibal
            //EnemyManager.instance.EnemyDied(false); //Spawn boar
        }

        if (isPlayer)
        {
            GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy");
            //Turn off enemies so they stop attacking dead player
            for (int i = 0; i < enemies.Length; i++)
            {
                enemies[i].GetComponent <EnemyController>().enabled = false;
            }

            //Stop spawning enemies
            EnemyManager.instance.StopSpawning();

            GetComponent <PlayerMovement>().enabled = false;
            GetComponent <PlayerAttack>().enabled   = false;
            GetComponent <WeaponManager>().GetCurrentWeapon().gameObject.SetActive(false); //Hide weapon when dead
        }

        if (tag == "Player")
        {
            Invoke("GameOver", 3f); //Player dies, restart game
        }
        else
        {
            Invoke("TurnOffGameObject", 10f); //Enemy dies, destroy GameObject
        }
    }
Example #11
0
 public void Dead()
 {
     enemyAnimator.Dead();
     Invoke("DestroyEnemy", 2f);
 }
Example #12
0
    } // apply damage

    void PlayerDied()
    {
        if (is_Dragon)
        {
            navAgent.velocity        = Vector3.zero;
            navAgent.isStopped       = true;
            enemy_Controller.enabled = false;

            enemy_Anim.Dead();      //playing the dead animation

            StartCoroutine(DeadSound());

            // EnemyManager spawn more enemies
            //EnemyManager.instance.EnemyDied(false);


            //if you dont have death animation use below code

            /*GetComponent<Animator>().enabled = false;
             * GetComponent<BoxCollider>().isTrigger = false;
             * GetComponent<Rigidbody>().AddTorque(-transform.forward * 5f);
             *
             * enemy_Controller.enabled = false;
             * navAgent.enabled = false;
             * enemy_Anim.enabled = false;
             *
             * StartCoroutine(DeadSound());
             *
             * // EnemyManager spawn more enemies
             * EnemyManager.instance.EnemyDied(true);
             */
        }

        if (is_Boar)
        {
            navAgent.velocity        = Vector3.zero;
            navAgent.isStopped       = true;
            enemy_Controller.enabled = false;

            enemy_Anim.Dead();

            StartCoroutine(DeadSound());

            // EnemyManager spawn more enemies
            //EnemyManager.instance.EnemyDied(false);
        }


        /*
         * if (is_Player)
         * {
         *
         *  GameObject[] enemies = GameObject.FindGameObjectsWithTag(Tags.ENEMY_TAG);
         *
         *  for (int i = 0; i < enemies.Length; i++)
         *  {
         *      enemies[i].GetComponent<EnemyController>().enabled = false;
         *  }
         *
         *  // call enemy manager to stop spawning enemies
         *  EnemyManager.instance.StopSpawning();
         *
         *  GetComponent<PlayerMovement>().enabled = false;
         *  GetComponent<PlayerAttack>().enabled = false;
         *  GetComponent<WeaponManager>().GetCurrentSelectedWeapon().gameObject.SetActive(false);
         *
         * }
         */

        if (tag == Tags.PLAYER_TAG)
        {
            Invoke("RestartGame", 3f);
        }
        else
        {
            Invoke("TurnOffGameObject", 3f);
        }
    } // player died
    } // apply damage

    public void PlayerDied()
    {
        //if it is the cannibal that died, it just disappears, adds 1 to score Cannibals and total cannibals killed.
        if (is_Cannibal)
        {
            GetComponent <Animator>().enabled      = false;
            GetComponent <BoxCollider>().isTrigger = false;
            GetComponent <Rigidbody>().AddTorque(-transform.forward * 5f);

            enemy_Controller.enabled = false;
            navAgent.enabled         = false;
            enemy_Anim.enabled       = false;

            ScoreScript.scoreValueCannibals    += 1;
            ScoreScript.total_killed_cannibals += 1;

            StartCoroutine(DeadSound());
            // EnemyManager spawn more enemies
            EnemyManager.instance.EnemyDied(true);
            if (is_Boss)
            {
                bossLevel += 1;
            }
        }

        //if it is the boar that died, it plays death animation and disappears, adds 1 to score boars and total boars killed.
        if (is_Boar)
        {
            navAgent.velocity        = Vector3.zero;
            navAgent.isStopped       = true;
            enemy_Controller.enabled = false;

            enemy_Anim.Dead();
            ScoreScript.scoreValueBoars    += 1;
            ScoreScript.total_killed_boars += 1;

            StartCoroutine(DeadSound());

            // EnemyManager spawn more enemies
            EnemyManager.instance.EnemyDied(false);
        }

        if (is_Player)
        {
            GameObject[] enemies = GameObject.FindGameObjectsWithTag(Tags.ENEMY_TAG);

            for (int i = 0; i < enemies.Length; i++)
            {
                enemies[i].GetComponent <EnemyController>().enabled = false;
            }

            // call enemy manager to stop spawning enemis
            EnemyManager.instance.StopSpawning();

            GetComponent <PlayerMovement>().enabled = false;
            GetComponent <PlayerAttack>().enabled   = false;
            GetComponent <WeaponManager>().GetCurrentSelectedWeapon().gameObject.SetActive(false);
        }

        if (tag == Tags.PLAYER_TAG)
        {
            Invoke("RestartGame", 3f);
        }
        else
        {
            Invoke("TurnOffGameObject", 3f);
        }
    } // player died