private void Start() { Observable.Merge( hourField.OnValueChangedAsObservable().Skip(1), minuteField.OnValueChangedAsObservable().Skip(1), secondField.OnValueChangedAsObservable().Skip(1), frameField.OnValueChangedAsObservable().Skip(1), dropdown.OnValueChangedAsObservable().Skip(1).Select(value => value.ToString()) ) .Subscribe(value => { SetDirty(); data = ParseData(hourField.text, minuteField.text, secondField.text, frameField.text, dropdown.options[dropdown.value].text); if (data == null) { Invalid(); } }).AddTo(this); _commandSettingController.OnListChangedAsObservable.Subscribe(list => { UpdateOptionList(list); UpdateCommandSelection(); }).AddTo(this); UpdateOptionList(_commandSettingController.Load()); }
private void Start() { Observable.Merge( commandIdText.OnValueChangedAsObservable().Skip(1), commandText.OnValueChangedAsObservable().Skip(1), memoText.OnValueChangedAsObservable().Skip(1), modeDropdown.OnValueChangedAsObservable().Select(value => value.ToString()).Skip(1) ) .Subscribe(value => { SetDirty(); data = ParseData(modeDropdown.value, commandIdText.text, commandText.text, memoText.text); }).AddTo(this); }
private void Start() { Observable.Merge( midiNumberTextInput.OnValueChangedAsObservable().Skip(1), midiTypeDropdown.OnValueChangedAsObservable().Select(value => value.ToString()).Skip(1), oscConvertAddressTextInput.OnValueChangedAsObservable().Skip(1) ) .Subscribe(value => { SetDirty(); if (!ParseData(midiNumberTextInput.text)) { Invalid(); } }).AddTo(this); }
private void Start() { var savedData = globalFrameOffsetController.Load(); defaultColor = offsetFrameInputBackground.color; framerateDropdown.options = new List <TMP_Dropdown.OptionData>() { new TMP_Dropdown.OptionData("30 FPS"), new TMP_Dropdown.OptionData("29.97 FPS"), new TMP_Dropdown.OptionData("60 FPS"), new TMP_Dropdown.OptionData("59.97 FPS") }; framerateDropdown.value = savedData.FrameRateType; offsetFrameInput.text = savedData.Offset.ToString(); framerateDropdown.OnValueChangedAsObservable().Subscribe(value => { frameRateType = (FrameRateType)Enum.ToObject(typeof(FrameRateType), value); globalFrameOffsetController.Update(new GlobalFrameOffset { FrameRateType = (int)frameRateType, Offset = offset }); }).AddTo(this); offsetFrameInput.OnValueChangedAsObservable().Subscribe(text => { if (int.TryParse(text, out var result)) { offset = result; offsetFrameInputBackground.color = defaultColor; globalFrameOffsetController.Update(new GlobalFrameOffset { FrameRateType = (int)frameRateType, Offset = offset }); } else { offsetFrameInputBackground.color = Color.red; } }).AddTo(this); saveButton.OnClickAsObservable().Subscribe(_ => { globalFrameOffsetController.Save(); }).AddTo(this); }