示例#1
0
    private void OnTriggerEnter2D(Collider2D enemyColl)
    {
        Vector2 enemySideDistance = hitDistance;

        enemyHP          = enemyColl.gameObject.GetComponentInParent <EnemyHealthManager>();
        bossHP           = enemyColl.GetComponentInParent <BossPatrolManager>();
        bombHP           = enemyColl.GetComponent <BombController>();
        bulletController = enemyColl.GetComponent <BulletHit>();
        if (enemyHP != null)
        {
            if (enemyColl.transform.position.x < transform.position.x)
            {
                enemySideDistance.x *= -1;//is on ur right
            }
            else
            {
                enemySideDistance.x *= 1;//is on ur left
            }
            enemyHP.TakeDamage(damageToGive, knockbackDuration, enemySideDistance, hitStopDuration);
            if (shouldScreenshakeOnHit)
            {
                Screenshake();
            }
            if (player != null)
            {
                player.AddMeter(meterToGive);
            }
        }
        if (bombHP != null)
        {
            if (enemyColl.transform.position.x < transform.position.x)
            {
                enemySideDistance.x *= -1;//is on ur right
            }
            else
            {
                enemySideDistance.x *= 1;//is on ur left
            }
            bombHP.TakeDamage(damageToGive);
            //bombHP.DoStopAndKnockback(knockbackDuration, enemySideDistance, hitStopDuration);
            if (shouldScreenshakeOnHit)
            {
                Screenshake();
            }
        }

        if (bulletController != null)
        {
            bulletController.ReverseForce();
        }

        if (shouldHitStop)
        {
            player.DoHitStop(hitStopDuration);
        }
        if (hitSpark != null)
        {
            hitSpark.Play();
        }
    }
 private void Start()
 {
     bossHM = GetComponentInParent <BossPatrolManager>();
 }