public void ClashedWithOtherMelee(MeleeDamagingCollider otherMelee) { _mouvementManager.AddKnockBack(otherMelee); otherMelee.Consumed(); OnMeleeClashed(); ClashFX(otherMelee); }
public void RoutedTriggerEnter(Collider2D collision) { var damaging = collision.gameObject.GetComponent <IDamaging>(); if (damaging != null) { switch (damaging.TypeOfDamage) { case DamageType.Melee: _meleeColliderLimiter++; if (_meleeColliderLimiter == 1) { AbsordBullets(damaging); StartCoroutine(ResetMeleeLimiter()); MeleeDamagingCollider melee = damaging as MeleeDamagingCollider; m_AbsorbAudioSource = PlayNewSound(m_AbsorbAudioSource, melee._meleeAttack.Clash); } break; case DamageType.Explosive: AbsordBullets(damaging); m_AbsorbAudioSource = PlayNewSound(m_AbsorbAudioSource, AbrosbExplosion); break; default: AbsordBullets(damaging); m_AbsorbAudioSource = PlayNewSound(m_AbsorbAudioSource, AbsorbBullet); break; } damaging.Consumed(); } }
private void ClashFX(MeleeDamagingCollider otherMelee) { PlayClashSFX(); GameObject toParent = gameObject; if (otherMelee.HasPreferredImpactPoint) { toParent = otherMelee.gameObject; } InstatiateParticle(ClashingParticle, toParent, true); InstatiateParticle(CrowdParticle, toParent, false, _CrowdFxTimer); }