Namespace NoSuchStudio.Variables
Classes
VariablesListener
Components for listening for changes in values of a list of variables. An event is raised
if ANY of the variables in the list change.
VariablesListener.ChangeEvent
VariablesMapper
Use this class to map existing variables to multiple variables under a common path prefix. Intended for expanding list / dictionary variables. For example a VariablesMapper could expand a json variable to multiple varialbes: source variable => items-list: ["item1", "item2", "item3"] mapped variables => items-list-1: "item1" items-list-2: "item2" items-list-3: "item3"
VariablesService
The variable service can be used to provide variables to other components. It is essentially a producer-consumer service. Variable Sources provide variables names along with their values. Any component can register as a listener of variables and receive callbacks when any of those variables change value.
VariablesSource
Use this class to define variables for other components to use. Use AddVariable(String), RemoveVariable(String) and SetVariable(String, String) to manage variables in the source. Any class can register to the VariablesService to get notified of changes to variables.!-- Changes to variable values should happen through the VariableSource that defines the variable.
Interfaces
IVariableSource
All components that provide variables to the VariablesService should implement this interface.
IVariablesServiceComponent
All components that are part of the VariablesService should implement this interface (or one of its sub interfaces like IVariableSource).