public void RegisterDebugValue <TObservableProperties>(float stepLength, string name, float defaultValue, TObservableProperties observableProperties, Action <TObservableProperties, float> propertySetter) where TObservableProperties : class, IObservableProperties { var debuggableValue = new DebuggableValueModel { Name = name, StepLength = stepLength }; bool saveDoesNotExist = !SaveService.TryLoad(debuggableValue); if (saveDoesNotExist) { debuggableValue.Value = defaultValue; SaveValue(debuggableValue); } observableProperties .Bind <TObservableProperties, float>(val => propertySetter(observableProperties, val)) .ToProperty(debuggableValue, dv => dv.Value, nameof(DebuggableValueModel.Value)); DebuggableValuesContainer.Add(debuggableValue); }
public void ResetValue(DebuggableValueModel debuggableValue) { LoadValue(debuggableValue); }
public void SaveValue(DebuggableValueModel debuggableValue) { SaveService.Save(debuggableValue); }
private void LoadValue(DebuggableValueModel debuggableValue) { SaveService.Load(debuggableValue); }