void OnCollisionEnter(Collision col)
 {
     if (col.gameObject.layer == 12)
     {
         CreatureLogic creature  = col.gameObject.GetComponent <CreatureLogic>();
         float         hitDamage = Random.Range(4f, 6f);
         creature.NewHealth(-hitDamage);
         _manager.ui.HitGUI(col.transform.position, hitDamage, Color.green);
         _manager.particles.EnemyHit(col.transform.position);
         StartCoroutine(HitDisplay(col.gameObject, creature._origColor));
     }
     else
     {
         Destroy(this.gameObject);
         _manager.particles.BombHit(transform.position);
     }
 }
示例#2
0
    void MeleeAttack()
    {
        CreatureLogic targetLogic = _attackTarget.GetComponent <CreatureLogic>();
        float         rando       = Random.Range(.8f, 1.2f);
        float         hitPoint    = Strength * rando;

        targetLogic.NewHealth(-hitPoint);
        if (_enemy)
        {
            _manager.ui.HitGUI(_attackTarget.position, hitPoint, Color.red);
            _manager.particles.FriendlyHit(_attackTarget.position);
        }
        else
        {
            _manager.ui.HitGUI(_attackTarget.position, hitPoint, Color.green);
            _manager.particles.EnemyHit(_attackTarget.position);
        }
        StartCoroutine(AttackLunge());
        StartCoroutine(HitDisplay(_attackTarget.gameObject, targetLogic._origColor));
    }