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;
        }
Ejemplo n.º 2
0
        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();
            }
        }