Class DirtyTracker<T>
Definition
Namespace: StardewUI.Layout
Assembly: StardewUI.dll
Convenience class for tracking properties that have changed, i.e. for layout dirty checking.
Type Parameters
T
Type of value held by the tracker.
Inheritance
Object ⇦ DirtyTracker<T>
Remarks
Will not flag changes as dirty unless the changed value is different from previous. Requires a correct Equals(Object) implementation for this to work, typically meaning strings, primitives and records.
Members
Constructors
| Name | Description |
|---|---|
| DirtyTracker<T>(T) | Convenience class for tracking properties that have changed, i.e. for layout dirty checking. |
Properties
| Name | Description |
|---|---|
| IsDirty | Whether or not the value is dirty, i.e. has changed since the last call to ResetDirty(). |
| Value | The currently-held value. |
Methods
| Name | Description |
|---|---|
| ResetDirty() | Resets the dirty flag, so that IsDirty returns false until the Value is changed again. |
| SetIfChanged(T) | Updates the tracker with a new value, if it has changed since the last seen value. |
Details
Constructors
DirtyTracker<T>(T)
Convenience class for tracking properties that have changed, i.e. for layout dirty checking.
Parameters
initialValue T
Value to initialize with.
Remarks
Will not flag changes as dirty unless the changed value is different from previous. Requires a correct Equals(Object) implementation for this to work, typically meaning strings, primitives and records.
Properties
IsDirty
Whether or not the value is dirty, i.e. has changed since the last call to ResetDirty().
Property Value
Value
The currently-held value.
Property Value
T
Methods
ResetDirty()
Resets the dirty flag, so that IsDirty returns false until the Value is changed again.
SetIfChanged(T)
Updates the tracker with a new value, if it has changed since the last seen value.
Parameters
value T
The new value.
Returns
true if the value was different from the previous Value, otherwise false.
Remarks
If this method returns true, then IsDirty will always also be true afterward. However, if it returns false then the dirty state simply remains unchanged, and will only be false if the value was not already dirty from a previous change.