using MessagePack; using R3; using UnityEngine; namespace KitsuneCafe.SOAP { public abstract class ConstantValue : ScriptableObject, IReactiveSource { #if UNITY_EDITOR [Multiline] public string Description = ""; #endif [SerializeField] protected T value; public T Value => value; public Observable AsObservable() { return Observable.Return(value); } public override string ToString() { return $"Constant<{typeof(T).Name}>({value?.ToString() ?? "null"})"; } } }