internal void Detached() { if (!caster.IsOwner) { caster.RemoveCallback(nameof(IUnitState.GlobalCooldown), OnGlobalCooldownChanged); } spellCooldowns.Clear(); spellCooldownsById.Clear(); }
void IUnitBehaviour.HandleUnitDetach() { if (!unit.IsOwner) { unit.RemoveCallback(nameof(IUnitState.MovementFlags), OnUnitStateFlagsChanged); } ResetAllMovement(); DetachMoveState(true); currentMovementIndex = 0; unit = null; }