protected override void ListItemSelected(int index, InstrumentDef dataProvider)
        {
            base.ListItemSelected(index, dataProvider);

            InstrumentsModel.SelectEditedInstrument(dataProvider.Id);
            EditedInstrumentChangedSignal.Dispatch(dataProvider);
        }
Beispiel #2
0
        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);
        }
Beispiel #4
0
        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());
 }
Beispiel #7
0
 public override void OnRemove()
 {
     EditedInstrumentChangedSignal.RemoveListener(EditedInstrumentChangedHandler);
     InstrumentCcDefsChangedSignal.RemoveListener(InstrumentCcDefsChangedHandler);
     base.OnRemove();
 }