2 using System.Collections.Generic;
4 namespace HKI.Core.Variables
14 [SerializeField] T defaultValue =
default(T);
15 [HideInInspector][SerializeField] T previousValue =
default(T);
16 [HideInInspector][SerializeField] T value =
default(T);
19 public T GetDefaultValue {
get {
return defaultValue; } }
20 public T Value {
get {
return value; } }
26 if(!EqualityComparer<T>.Default.Equals(
this.value, value))
28 previousValue = this.value;
30 RaiseOnValueChangedCallback();
38 if (!EqualityComparer<T>.Default.Equals(defaultValue, value))
39 SetValue = defaultValue;
41 RaiseOnValueChangedCallback();
47 SetValue = defaultValue;
52 SetValue = previousValue;
57 defaultValue = previousValue;
67 return value.ToString();
73 if(parameters == null || parameters.Length != 1)
76 defaultValue = (T)parameters[0];
override string ToString()
virtual void SetWithParameters(object[] parameters)
This abstract class of a ScriptableObject is provides child classes with on value changed callback ca...
void SetValueToPreviousValue()
void SetDefaultValueToValue()
This class adds a generic implementation to HKIVar. This reduces the repetitive implementation of thi...
void SetValueToDefaultValue()
void SetDefaultValueToPreviousValue()