예제 #1
0
    /// <returns>whether state changed to PressedHopedOff</returns>
    public bool HopedOff(IWeightableModel model, float timeInSeconds)
    {
        if (_state == State.PressedHopedOn)
        {
            _state = State.PressedHopedOff;

            _pressDecayStartedAt = timeInSeconds;

            _logger.Info("State: " + _state, " state updated at time: " + timeInSeconds);

            return(true);
        }
        return(false);
    }
예제 #2
0
    /// <returns>whether state changed to PressedHopedOn</returns>
    public bool HopedOn(IWeightableModel model)
    {
        if (_state != State.PressedHopedOn)
        {
            if (CanBePressedBy(model))
            {
                _state = State.PressedHopedOn;
                _logger.Info("State: " + _state, " state updated");
                return(true);
            }
        }

        return(false);
    }
예제 #3
0
 public bool CanBePressedBy(IWeightableModel model)
 {
     return(model.Weight >= _settings.WeightRequiredToPress);
 }