// ReSharper disable once NotNullMemberIsNotInitialized protected DataSourcePluginBase() { var sh = new SettingsHistory <TSettings>($"{GetType().FullName}.json"); SettingsHistory = sh; if (sh.Recent.Count > 0) { TypedSettings = (TSettings)sh.Recent[0].Clone(); } else { TypedSettings = new TSettings(); } }
private void Start() { if (!SavingSettings) { return; } _windowSettings = new SettingsHistory <WindowSettingsBag>($"{name}.json", 1); if (_windowSettings.Recent.FirstOrDefault() is WindowSettingsBag bag) { GetComponent <RectTransform>().anchoredPosition = new Vector2(bag.X, bag.Y); GetComponent <RectTransform>().sizeDelta = new Vector2(bag.Width, bag.Height); if (bag.IsShowing) { Show(); } else { gameObject.SetActive(false); } if (bag.IsMaximized) { _maximizedHeight = bag.Height; MinimizeButton.InitState(0); } else { MinimizeButton.InitState(1); } } _isInited = true; #if UNITY_STANDALONE_LINUX || UNITY_EDITOR_LINUX var rects = _content.GetComponentsInChildren <ScrollRect>(); foreach (var rect in rects) { rect.scrollSensitivity = 300; } #endif }
private void Start() { _history = new SettingsHistory <SceneSettingsBag>($"{nameof(SceneSettingsBag)}.json", 1); _bag = _history.Recent.FirstOrDefault() as SceneSettingsBag; if (_bag == null) { _bag = new SceneSettingsBag(); } else { GridDropdown.value = _bag.GridState; AxisButton.InitState(_bag.AxisState); DurationSlider.value = _bag.Duration; PointSizeSlider.value = _bag.PointSize; ColorPicker.CurrentColor = _bag.SceneColor; } _inited = true; GridDropdown.onValueChanged.AddListener(i => { _bag.GridState = i; SaveSettings(); }); AxisButton.OnStateChanged += i => { _bag.AxisState = i; SaveSettings(); }; DurationSlider.OnValueChangedAsObservable().Do(i => _bag.Duration = (int)i).Subscribe(_ => SaveSettings()); PointSizeSlider.OnValueChangedAsObservable().Do(i => _bag.PointSize = i).Subscribe(_ => SaveSettings()); ColorPicker.onValueChanged.AddListener(color => { if (_inited) { _bag.SceneColor = color; SaveSettings(); } }); }