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); }
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; } } } }