Ejemplo n.º 1
0
 public void DestroyDecoy(GameObject vfx, AudioClip sfx)
 {
     if (sfx != null)
     {
         SoundManager.Instance.PlaySFX(sfx);
     }
     vfxManager.InstantiateVFXWithYOffset(vfx, transform, 5f, explosionYOffset);
     //Instantiate(vfx, transform.position, transform.rotation);
     Destroy(gameObject);
 }
Ejemplo n.º 2
0
    private void OnCollisionEnter(Collision other)
    {
        if (IsAttacking)
        {
            if (other.gameObject.layer == LayerMask.NameToLayer("Arena") && isResetAfterHit)
            {
                WeaponHolder.ResetWeapon();
            }

            else if (other.gameObject.layer == LayerMask.NameToLayer("Hitbox") && other.gameObject.transform != WeaponHolder.transform)
            {
                if (isResetAfterHit)
                {
                    WeaponHolder.ResetWeapon();
                }

                if (other.gameObject.tag == "Player" || other.gameObject.tag == "Decoy")
                {
                    if (hitSFX != null)
                    {
                        SoundManager.Instance.PlaySFX(hitSFX);
                    }
                    float damageMultiplier = WeaponHolder.DamageMultiplier;
                    other.gameObject.SendMessage("TakeDamage", new float[] { damage *damageMultiplier, WeaponHolder.PlayerNumber });
                    vfxManager.InstantiateVFXWithYOffset(hitVFX, other.transform, 2f, hitYOffset);
                }

                //else if (other.gameObject.tag == "Decoy")
                //    other.gameObject.SendMessage("TakeDamage", new float[] { damage, WeaponHolder.PlayerNumber });

                if (Abilities[0])
                {
                    WeaponHolder.SendMessage("AfterHitEffectBA", other.transform);
                }
                if (Abilities[1])
                {
                    WeaponHolder.SendMessage("AfterHitEffectMA", other.transform);
                }
                if (Abilities[2])
                {
                    WeaponHolder.SendMessage("AfterHitEffectOA", other.transform);
                }
                if (Abilities[3])
                {
                    WeaponHolder.SendMessage("AfterHitEffectUA", other.transform);
                }

                for (int i = 0; i < Abilities.Length; i++)
                {
                    Abilities[i] = false;
                }
            }
        }
    }