Example #1
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        Player player = other.GetComponent <Player>();

        if (player == null)
        {
            return;
        }

        RaycastHit2D[] raycastHit2Ds = Physics2D.CircleCastAll(transform.position, Range, Vector2.zero);
        foreach (RaycastHit2D raycastHit in raycastHit2Ds)
        {
            EnemyHurtbox enemyHurtbox = raycastHit.collider.GetComponent <EnemyHurtbox>();
            if (enemyHurtbox == null)
            {
                continue;
            }

            enemyHurtbox.TakeDamage(Damage);
        }

        AudioSource.PlayClipAtPoint(ItemTakenSfx, transform.position, GameManager.Instance.Volume);
        Instantiate(ItemTakenEffectPrefab, transform.position, Quaternion.identity);

        Destroy(gameObject);
    }
Example #2
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        EnemyHurtbox enemyHurtbox = other.GetComponent <EnemyHurtbox>();

        if (enemyHurtbox != null)
        {
            enemyHurtbox.TakeDamage(1f);
            Destroy(gameObject);
        }
        else if (other.gameObject.layer == LayerMask.NameToLayer("Ground"))
        {
            Destroy(gameObject);
        }
    }
Example #3
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        EnemyHitbox enemyHitbox = other.GetComponent <EnemyHitbox>();

        if (enemyHitbox != null)
        {
            AudioSource.PlayClipAtPoint(ChingSfx, transform.position, GameManager.Instance.Volume);
        }

        EnemyHurtbox enemyHurtbox = other.GetComponent <EnemyHurtbox>();

        if (enemyHurtbox != null)
        {
            enemyHurtbox.TakeDamage(2f);
        }
    }
Example #4
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        PlayerHurtbox playerHurtbox = other.GetComponent <PlayerHurtbox>();

        if (playerHurtbox != null)
        {
            playerHurtbox.TakeDamage();
            Destroy(gameObject);
            return;
        }

        PlayerHitbox playerHitbox = other.GetComponent <PlayerHitbox>();

        if (playerHitbox != null && !_canHurtOwner)
        {
            _canHurtOwner         = true;
            _rigidbody2D.velocity = new Vector2(_originalDirection * XSpeedReflect * -1, YSpeedReflect);
            AudioSource.PlayClipAtPoint(ChingSfx, transform.position, GameManager.Instance.Volume);

            return;
        }

        if (_canHurtOwner)
        {
            EnemyHurtbox enemyHurtbox = other.GetComponent <EnemyHurtbox>();
            if (enemyHurtbox != null && enemyHurtbox == _owner)
            {
                enemyHurtbox.TakeDamage(1f);
                Destroy(gameObject);
                return;
            }
        }

        if (other.gameObject.layer == LayerMask.NameToLayer("Ground"))
        {
            AudioSource.PlayClipAtPoint(ChingSfx, transform.position, GameManager.Instance.Volume);
            Destroy(gameObject);
        }
    }