private void OnCollisionEnter(Collision collision) { var rigidbody = collision.rigidbody; if (rigidbody == null) { return; } CharacterSheet entering = rigidbody.GetComponent <CharacterSheet>(); if (entering != null) { if (onEnter) { entering.LandAttack(enterDamage.baseValue, collision.GetContact(0).point, null, heft, out _); } if (onStay) { entering.AddEffect(stayDebuff); } } }
private IEnumerator StaggerRoutine(int triggerId, WaitForSeconds stunDuration) { if (lastAbility != null) { lastAbility.ForceEndUse(); } animator.SetTrigger(triggerId); characterSheet.AddEffect(staggerEffect); IsStaggered = true; yield return(stunDuration); ResetStagger(); }