Search Results for

    Show / Hide Table of Contents

    Class ValueManager

    It maintains a value between the minimum and maximum values.
    Each value can be modified using this class.
    It gives a layer of abstraction as this class doesn't know about ProgressBar or Resource.

    Inheritance
    object
    ValueManager
    ProgressBar
    ResourceManager
    Namespace: TetraCreations.ProgressBarSystem
    Assembly: cs.temp.dll.dll
    Syntax
    public class ValueManager : MonoBehaviour

    Fields

    _allowValueDecrease

    Declaration
    protected bool _allowValueDecrease
    Field Value
    Type Description
    bool

    _allowValueIncrease

    Declaration
    protected bool _allowValueIncrease
    Field Value
    Type Description
    bool

    _initialAllowValueDecrease

    Declaration
    protected bool _initialAllowValueDecrease
    Field Value
    Type Description
    bool

    _initialAllowValueIncrease

    Declaration
    protected bool _initialAllowValueIncrease
    Field Value
    Type Description
    bool

    _initialized

    Declaration
    protected bool _initialized
    Field Value
    Type Description
    bool

    _initialMaximum

    Declaration
    protected float _initialMaximum
    Field Value
    Type Description
    float

    _initialMinimum

    Declaration
    protected float _initialMinimum
    Field Value
    Type Description
    float

    _initialValue

    Declaration
    protected float _initialValue
    Field Value
    Type Description
    float

    _maximum

    Declaration
    protected float _maximum
    Field Value
    Type Description
    float

    _minimum

    Declaration
    protected float _minimum
    Field Value
    Type Description
    float

    _precisionTolerance

    Declaration
    protected float _precisionTolerance
    Field Value
    Type Description
    float

    _value

    Declaration
    protected float _value
    Field Value
    Type Description
    float

    _valueState

    Declaration
    protected ValueState _valueState
    Field Value
    Type Description
    ValueState

    Properties

    AllowChanges

    Allows or prevents any modification to the value.

    Declaration
    public bool AllowChanges { get; set; }
    Property Value
    Type Description
    bool

    AllowValueDecrease

    Allows or prevents any decrease in value.

    Declaration
    public bool AllowValueDecrease { get; set; }
    Property Value
    Type Description
    bool

    AllowValueIncrease

    Allows or prevents any increase in value.

    Declaration
    public bool AllowValueIncrease { get; set; }
    Property Value
    Type Description
    bool

    AtMaximum

    Determines whether the ValueState is AtMaximum.

    Declaration
    public bool AtMaximum { get; }
    Property Value
    Type Description
    bool

    AtMinimum

    Determines whether the ValueState is AtMinimum.

    Declaration
    public bool AtMinimum { get; }
    Property Value
    Type Description
    bool

    CurrentState

    The current state of the value : AtMinimum, AtMaximum or InBetween.

    Declaration
    public ValueState CurrentState { get; }
    Property Value
    Type Description
    ValueState

    Initialized

    Determines if the ValueManager is initialized and ready to be used.

    Declaration
    public bool Initialized { get; }
    Property Value
    Type Description
    bool

    LastMaximumValueChange

    Returns the last change made to the maximum value.

    Declaration
    public float LastMaximumValueChange { get; }
    Property Value
    Type Description
    float

    LastMinimumValueChange

    Returns the last change made to the minimum value.

    Declaration
    public float LastMinimumValueChange { get; }
    Property Value
    Type Description
    float

    LastOverflowAmount

    Returns the last overflow amount that couldn't be applied to the value.

    Declaration
    public float LastOverflowAmount { get; }
    Property Value
    Type Description
    float

    LastValueChange

    Returns the last change made to the value.

    Declaration
    public float LastValueChange { get; }
    Property Value
    Type Description
    float

    Maximum

    The maximum value. Setter ensure that it's above Minimum.

    Declaration
    public float Maximum { get; set; }
    Property Value
    Type Description
    float

    MaximumAmountWithinLimits

    The total amount between the limits, so it's the maximum value minus the minimum value.
    Just because the minimum value can be different than zero.

    Declaration
    public float MaximumAmountWithinLimits { get; }
    Property Value
    Type Description
    float

    Minimum

    The minimum value. Setter ensure that it's below the maximum.

    Declaration
    public float Minimum { get; set; }
    Property Value
    Type Description
    float

    MissingValue

    Returns the difference between the maximum and the current value.

    Declaration
    public float MissingValue { get; }
    Property Value
    Type Description
    float

    MissingValuePercentage

    Returns the percentage of missing value compared to the Maximum value.
    It returns a float between 0f and 1f as it's a percentage.

    Declaration
    public float MissingValuePercentage { get; }
    Property Value
    Type Description
    float

    Percentage

    Returns the value as percentage.
    For example 75/100 will return 0.75f.

    Declaration
    public float Percentage { get; }
    Property Value
    Type Description
    float

    PrecisionTolerance

    Used to compare the current value with Minimum and Maximum values, we can't compare float's equality.
    We could tolerate a value of 99.98 to be equals to 100 for exemple.

    Declaration
    public float PrecisionTolerance { get; set; }
    Property Value
    Type Description
    float

    Value

    The current value. Setter ensure it's clamped between the minimum and maximum.

    Declaration
    public float Value { get; set; }
    Property Value
    Type Description
    float

    ValueState

    The current state of the ProgressBar : At Minimum, At Maximum, In Between.

    Declaration
    public ValueState ValueState { get; }
    Property Value
    Type Description
    ValueState

    Methods

    AreEqual(float, float)

    Compare two float value to determines if they are equal using the PrecisionTolerance variable to allow minor difference that doesn't matter.

    Declaration
    public bool AreEqual(float a, float b)
    Parameters
    Type Name Description
    float a
    float b
    Returns
    Type Description
    bool

    CanDecrease()

    Determines if the value can decrease.

    Declaration
    public virtual bool CanDecrease()
    Returns
    Type Description
    bool

    CanIncrease()

    Determines if the value can increase.

    Declaration
    public virtual bool CanIncrease()
    Returns
    Type Description
    bool

    Decrease(float)

    Decrease the value.

    Declaration
    public virtual float Decrease(float amount)
    Parameters
    Type Name Description
    float amount

    The amount to remove

    Returns
    Type Description
    float

    The change made to the value, 0f if there is no change.

    DecreaseMaximum(float)

    Decrease the maximum value.

    Declaration
    public virtual float DecreaseMaximum(float amount)
    Parameters
    Type Name Description
    float amount

    The amount to remove

    Returns
    Type Description
    float

    The change made to the maximum value, 0f if there is no change.

    DecreaseMinimum(float)

    Decrease the minimum value.

    Declaration
    public virtual float DecreaseMinimum(float amount)
    Parameters
    Type Name Description
    float amount

    The amount to remove

    Returns
    Type Description
    float

    The change made to the minimum value, 0f if there is no change.

    GetClampedValue(float)

    Get the clamped value within the limits.
    It uses the PrecisionTolerance to return the Minimum/Maximum if the value is close enough to them.

    Declaration
    protected virtual float GetClampedValue(float value)
    Parameters
    Type Name Description
    float value

    Value to Clamp

    Returns
    Type Description
    float

    GetLastChangeOf(ValueType)

    Return the last change made to a value.

    Declaration
    public float GetLastChangeOf(ValueType valueType)
    Parameters
    Type Name Description
    ValueType valueType

    Which value we want to get the last change from.

    Returns
    Type Description
    float

    Increase(float)

    Increase the value.

    Declaration
    public virtual float Increase(float amount)
    Parameters
    Type Name Description
    float amount

    The amount to add

    Returns
    Type Description
    float

    The change made to the value, 0f if there is no change.

    IncreaseMaximum(float)

    Increase the maximum value.

    Declaration
    public virtual float IncreaseMaximum(float amount)
    Parameters
    Type Name Description
    float amount

    The amount to add

    Returns
    Type Description
    float

    The change made to the maximum value, 0f if there is no change.

    IncreaseMinimum(float)

    Increase the minimum value.

    Declaration
    public virtual float IncreaseMinimum(float amount)
    Parameters
    Type Name Description
    float amount

    The amount to add

    Returns
    Type Description
    float

    The change made to the minimum value, 0f if there is no change.

    Initialize()

    Set the values using the initial values and raised the InitializedEvent.

    Declaration
    public virtual void Initialize()

    InitializeValues()

    Set the Maximum, Minimum, and Value with the initial values to clamp them.
    Keep the initial values in cache to reset the values at runtime if needed.

    Declaration
    protected virtual void InitializeValues()

    OnInitialized()

    Raise the InitializedEvent, we don't pass any data for the moment.

    Declaration
    protected virtual void OnInitialized()

    OnMaximumValueReached()

    Raise the MaximumValueReachedEvent and the pass the last overflow amount.

    Declaration
    protected virtual void OnMaximumValueReached()

    OnMinimumValueReached()

    Raise the MinimumValueReachedEvent and the pass the last overflow amount.

    Declaration
    protected virtual void OnMinimumValueReached()

    OnValueChanged(float, ValueType)

    Raise the ValueChangedEvent and pass all the data we have :
    The new value, minimum, maximum, percentage, the difference with the previous value and the type of value that changed.

    Declaration
    protected virtual void OnValueChanged(float newValue, ValueType valueType)
    Parameters
    Type Name Description
    float newValue
    ValueType valueType

    OnValuesRestored()

    Raise the ValuesRestoredEvent, pass the Value, Minimum, Maximum and Percentage.

    Declaration
    protected virtual void OnValuesRestored()

    OnValueStateChanged()

    Raise the ValueStateChangedEvent and pass the new ValueState

    Declaration
    protected virtual void OnValueStateChanged()

    RaiseLimitReachedEvents()

    Raise MaximumValueReached or MinimumValueReached depending on the new state.

    Declaration
    protected virtual void RaiseLimitReachedEvents()

    RemoveEventsListeners()

    Remove all listeners from every events, in case we need to destroy the object for example.

    Declaration
    public virtual void RemoveEventsListeners()

    RestoreValues()

    Reset the minimum, current and maximum value to their intial values.

    Declaration
    public virtual void RestoreValues()

    SetByPercentage(float)

    Set the value by passing a percentage.
    For example : 20/100 (20%) => SetByPercentage(0.8) => Value will be 80/100. (80%)

    Declaration
    public virtual void SetByPercentage(float percentage)
    Parameters
    Type Name Description
    float percentage

    SetInitialValues(float, float, float, bool)

    Set the initial values : Mnimum, Maximum, Value.
    And eventually initialize.

    Declaration
    public virtual void SetInitialValues(float value = 100, float maximum = 100, float minimum = 0, bool initialize = false)
    Parameters
    Type Name Description
    float value
    float maximum
    float minimum
    bool initialize

    Call Initialize() after setting the values, every values will be clamped.

    SetLastChange(float, ValueType)

    Sets the last change made to a value.

    Declaration
    protected virtual void SetLastChange(float previousValue, ValueType valueType)
    Parameters
    Type Name Description
    float previousValue
    ValueType valueType

    SetLastOverflow(float)

    Set the last overflow amount by removing real change made from the requested change.
    The value is always positive, other script can get this value from MinimumValueReachedEvent or MaximumValueReachedEvent arguments.
    Or with the LastOverflowAmount getter right after the value modification.

    Declaration
    protected virtual void SetLastOverflow(float requestedChange)
    Parameters
    Type Name Description
    float requestedChange

    SetMaximum(float)

    Check if there is any change.
    Override the maximum with the clamped new maximum.
    It will clamp the value.
    Then it will raised ValueChangedEvent, and check if the ValueState changed.

    Declaration
    protected virtual void SetMaximum(float newMaximum)
    Parameters
    Type Name Description
    float newMaximum

    SetMinimum(float)

    Check if there is any change.
    Override the minimum with the clamped new minimum.
    It will clamp the value.
    Then it will raised ValueChangedEvent, and check if the ValueState changed.

    Declaration
    protected virtual void SetMinimum(float newMinimum)
    Parameters
    Type Name Description
    float newMinimum

    SetToMaximum()

    Set the current value to the maximum value.

    Declaration
    public virtual void SetToMaximum()

    SetToMinimum()

    Set the current value to the minimum value.

    Declaration
    public virtual void SetToMinimum()

    SetValue(float)

    Clamp the newValue, check if there is any change.
    Override the value with the clamped new value.
    Then it will raised ValueChangedEvent, and check if the ValueState changed.

    Declaration
    protected virtual void SetValue(float newValue)
    Parameters
    Type Name Description
    float newValue

    ToString()

    Declaration
    public override string ToString()
    Returns
    Type Description
    string

    UpdateValueState()

    Determines if the ValueState has changed, if so it calls the OnValueStateChanged method.

    Declaration
    protected virtual void UpdateValueState()

    Events

    InitializedEvent

    Declaration
    public event EventHandler<ValueManagerInitializedEventArgs> InitializedEvent
    Event Type
    Type Description
    System.EventHandler<TEventArgs><ValueManagerInitializedEventArgs>

    MaximumValueReachedEvent

    Declaration
    public event EventHandler<MaximumValueReachedEventArgs> MaximumValueReachedEvent
    Event Type
    Type Description
    System.EventHandler<TEventArgs><MaximumValueReachedEventArgs>

    MinimumValueReachedEvent

    Declaration
    public event EventHandler<MinimumValueReachedEventArgs> MinimumValueReachedEvent
    Event Type
    Type Description
    System.EventHandler<TEventArgs><MinimumValueReachedEventArgs>

    ValueChangedEvent

    Declaration
    public event EventHandler<ValueChangedEventArgs> ValueChangedEvent
    Event Type
    Type Description
    System.EventHandler<TEventArgs><ValueChangedEventArgs>

    ValuesRestoredEvent

    Declaration
    public event EventHandler<ValuesRestoredEventArgs> ValuesRestoredEvent
    Event Type
    Type Description
    System.EventHandler<TEventArgs><ValuesRestoredEventArgs>

    ValueStateChangedEvent

    Declaration
    public event EventHandler<ValueStateEventArgs> ValueStateChangedEvent
    Event Type
    Type Description
    System.EventHandler<TEventArgs><ValueStateEventArgs>
    In This Article
    Back to top Tetra Creations documentation