public void DeactivateStyle(MovementMotor.ReleaseMode mode = MovementMotor.ReleaseMode.PopAllOrDefault, float precedence = 0f) { if (!_activeStatus) { return; } if (_mode == UpdateMode.Motor) { _motor.States.ReleaseCurrentState(mode, precedence); } else { if (_routine != null) { _routine.Stop(); } if (_paused) { this.Pause(false); } this.OnDeactivate(null, false); _activeStatus = false; } _mode = UpdateMode.Inactive; }
protected void OnTriggerExit(Collider other) { if (!_useProximityTrigger || _nearColliders == null) { return; } if (_sensor == null) { return; } _nearColliders.Remove(other); if (_nearColliders.Count == 0 && _routine.Active) { _routine.Stop(); } }