// 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();
            }
        }
示例#2
0
        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
        }
示例#3
0
        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();
                }
            });
        }