Search Unity

[FREE] Value Observer - Editor-Friendly Observer Pattern

Discussion in 'Assets and Asset Store' started by Alex-Vertax, Oct 17, 2023.

  1. Alex-Vertax

    Alex-Vertax

    Joined:
    Sep 16, 2013
    Posts:
    205




    Asset Store | News | Web | Video | Docs | Forum | Support | Discord

    Value Observer is an editor-friendly implementation of the Observer pattern.

    Contains:
    ValueObserver<T>
    - observes the value change and notifies listeners. Allows to validate the value change.
    LinkedObserver<T> - connects observer located in another component and allows to use it as a field of this class.
    LinkedValue<T> - connects any Serialized Property of any other component or Scriptable Object and allows it to be used as a field of this class.
    LinkedMethod<TResult> - connects any method that returns a value. Editor-friendly equivalent of Func<TResult>. Supports up to 10 parameters.

    Advantages:
    - Very easy to use.
    - Weak code dependency.
    - Completely editor friendly.
    - Works in play mode and in edit mode.
    - Very short syntax.
    - Improves the performance (in cases where you check for value changes in Update or don't check for changes at all).

    ValueObserver.png LinkedObserver.png LinkedValue.png LinkedMethod.png
     
    Last edited: Nov 16, 2023