Corgi Engine
v9.2
|
This struct lets you declare observable properties. For example, let's say you have a class called Character, and you declare its speed like so : More...
Public Attributes | |
Action | OnValueChanged |
Action< T > | OnValueChangedTo |
Action< T, T > | OnValueChangedFromTo |
Properties | |
T??? | Value [get, set] |
This struct lets you declare observable properties. For example, let's say you have a class called Character, and you declare its speed like so :
public MMObservable<float> Speed;
then, in any other class, you can register to OnValueChanged events on that property (usually in OnEnable) :
protected virtual void OnEnable() { _myCharacter.Speed.OnValueChanged += OnSpeedChange; }
and unsubscribe like so :
protected virtual void OnDisable() { _myCharacter.Speed.OnValueChanged -= OnSpeedChange; }
and then all you need is a method to handle that speed change :
protected virtual void OnSpeedChange() { MMDebug.DebugLogInfo(_myCharacter.Speed.Value); }
You can look at the MMObservableTest demo scene for an example of how it's used.
T |
Action MoreMountains.Tools.MMObservable< T >.OnValueChanged |
Action<T,T> MoreMountains.Tools.MMObservable< T >.OnValueChangedFromTo |
Action<T> MoreMountains.Tools.MMObservable< T >.OnValueChangedTo |
|
getset |