예제 #1
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        //get the health compenent
        Health      otherHealth = collision.gameObject.GetComponent <Health>();
        EnemyHealth enemyHealth = collision.gameObject.GetComponent <EnemyHealth>();


        //check if otherhealth exists
        if (otherHealth != null)
        {
            //damage the player
            otherHealth.ChangeHealth(-damage);
        }
        if (enemyHealth != null)
        {
            enemyHealth.ChangeHealth(-damage);
        }
        //}



        for (int i = 0; i < ObjectsToSpawn.Length; ++i)
        {
            //make the on damage sound effect
            Instantiate(ObjectsToSpawn[i], transform.position, Quaternion.identity);
        }
        //unity event setup
        OnCollide.Invoke();
        //destory the damaged thing?
        if (DestroyOnCollide)
        {
            Destroy(gameObject);
        }
    }
예제 #2
0
 // Start is called before the first frame update
 void Start()
 {
     // just for testing purposes
     //EnemyState = ENEMY_STATE.Alive;
     enemyMat = GetComponent <Renderer>();
     enemyHealth.ChangeHealth(0);
     //enemyMat.sharedMaterial = AliveMat;
 }
예제 #3
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.tag == "Weapon" && attacked == false)
     {
         StartCoroutine(Attacked());
         enemyHealth.ChangeHealth(-1);
     }
     if (other.tag == "EnemyGoal" && !reachGoal)
     {
         scoreManager.AddEnemiesEscaped();
         StartCoroutine(ReachedGoal());
     }
 }
예제 #4
0
    void OnTriggerEnter2D(Collider2D col)
    {
        EnemyHealth bh = col.gameObject.GetComponent <EnemyHealth>();
        Health      h  = col.gameObject.GetComponent <Health>();

        if (bh != null)
        {
            bh.ChangeHealth(-damageAmount);
        }
        if (h != null)
        {
            h.ChangeHealth(-damageAmount);
        }
    }
예제 #5
0
    void OnCollisionEnter2D(Collision2D col)
    {
        EnemyHealth bh = col.gameObject.GetComponent <EnemyHealth>();
        Health      h  = col.gameObject.GetComponent <Health>();

        if (bh != null)
        {
            bh.ChangeHealth(-damageAmount);
        }
        if (h != null)
        {
            h.ChangeHealth(-damageAmount);
            Destroy(gameObject);
        }
    }
예제 #6
0
 private void OnTriggerStay(Collider other)
 {
     if (anim.GetCurrentAnimatorClipInfo(0)[0].clip.name != "Hit")
     {
         if (other.tag == "PlayerWeapon")
         {
             GameObject enemy = other.transform.parent.gameObject;
             if (enemy.GetComponent <PlayerAttackScript>().canAttack)
             {
                 enemyRBody.AddForce(enemy.transform.forward * 500);
                 //SetMoving(false);
                 anim.SetBool("Hit", true);
                 enemyHealth.ChangeHealth(-10);
                 enemy.GetComponent <PlayerAttackScript>().canAttack = false;
             }
         }
     }
 }
예제 #7
0
 public void ChangeHealth()
 {
     enemyHealth.ChangeHealth();
 }