protected override void ListItemSelected(int index, InstrumentDef dataProvider) { base.ListItemSelected(index, dataProvider); InstrumentsModel.SelectEditedInstrument(dataProvider.Id); EditedInstrumentChangedSignal.Dispatch(dataProvider); }
public override void Execute() { //TODO: Import from clipboard //Debug.LogWarning($"<color=\"aqua\">ImportInstrumentsCommand.Execute() : {GUIUtility.systemCopyBuffer}</color>"); //var instruments = PyramidParser.ParseInstruments(GUIUtility.systemCopyBuffer); //Get Path var loadDirectory = PrefsManager.GetUserString(LOAD_DIRECTORY_KEY, null); var path = FileBrowser.OpenSingleFile("Import CKI file", loadDirectory, JsonKeys.FILE_EXTENSIONS); PrefsManager.SetUserData(LOAD_DIRECTORY_KEY, Path.GetDirectoryName(path)); //Decide which parser to use based on extension var jsonString = File.ReadAllText(path); var extension = Path.GetExtension(path).Substring(1); var parser = extension == JsonKeys.PYRAMID_EXTENSION ? PyramidParser : CkiParser; var instruments = parser.ParseInstruments(jsonString); //return if no instruments found TODO: inform user if (instruments == null || instruments.Count == 0) { return; } var instrumentIdAfterImport = InstrumentsModel.GetAllInstruments().Count; InstrumentsModel.AddInstruments(instruments); InstrumentsModel.SelectEditedInstrument(instrumentIdAfterImport); EditedInstrumentChangedSignal.Dispatch(InstrumentsModel.GetEditedInstrument()); InstrumentsImportedSignal.Dispatch(); }
public override void OnRemove() { base.OnRemove(); InstrumentsImportedSignal.RemoveListener(RefreshInstruments); EditedInstrumentChangedSignal.RemoveListener(EditedInstrumentChangedHandler); View.InstrumentDropdown.onValueChanged.RemoveListener(OnDropdownChangedHandler); }
public override void OnRegister() { base.OnRegister(); EditedInstrumentChangedSignal.AddListener(EditedInstrumentChangedHandler); InstrumentCcDefsChangedSignal.AddListener(InstrumentCcDefsChangedHandler); ShowEditedInstrument(); }
public override void OnRegister() { base.OnRegister(); InstrumentsImportedSignal.AddListener(RefreshInstruments); EditedInstrumentChangedSignal.AddListener(EditedInstrumentChangedHandler); InstrumentGeneralSettingsChangedSignal.AddListener(RefreshInstruments); View.InstrumentDropdown.onValueChanged.AddListener(OnDropdownChangedHandler); RefreshInstruments(); AddButtonListener(View.ImportButton, ImportButtonHandler); AddButtonListener(View.ExportButton, ExportButtonHandler); AddButtonListener(View.NewButton, NewButtonHandler); }
private void OnDropdownChangedHandler(int id) { InstrumentsModel.SelectEditedInstrument(id); EditedInstrumentChangedSignal.Dispatch(InstrumentsModel.GetEditedInstrument()); }
public override void OnRemove() { EditedInstrumentChangedSignal.RemoveListener(EditedInstrumentChangedHandler); InstrumentCcDefsChangedSignal.RemoveListener(InstrumentCcDefsChangedHandler); base.OnRemove(); }