public UIMain(string savePath) { UITranslator.filePath = savePath + @"\Translation.json"; UITranslator.LoadCurrent(); string[] tabNames = typeof(Tabs).GetEnumNames(); for (int i = 0, iend = tabNames.Length; i < iend; i++) { tabNames[i] = UITranslator.TranslateCurrent(tabNames[i]); } TabSelector = new UITabSelector(tabNames); TabSelector.OnSelectionChange += OnTabSelectionChange; currentTab = TabSelector.CurrentSelection; Desks = new UICardDesk[3]; Desks[(int)Tabs.Calculator] = NewCalculatorDesk(out calculatorInputCard, out calculatorOutputCard); Desks[(int)Tabs.Calculator].onEndEditCard += OnEndEditCalulatorInputCard; databaseSavePath = savePath + @"\Database.json"; Database currentDatabase = DatapackSerializer.Deserialize(databaseSavePath); Desks[(int)Tabs.Database] = NewDatabaseDesk(currentDatabase, out databaseCard); Desks[(int)Tabs.Database].onEndEditCard += OnEndEditDatabaseCard; DatabaseReferenceAttribute.CurrentDatabase = currentDatabase; calculator = new Calculator(); }
private void OnEndEditDatabaseCard(UICardDesk desk, UICardPile pile, UICard card) { if (card != null && card == databaseCard) { Database editedData = databaseCard.Data as Database; DatapackSerializer.Serialize(editedData, databaseSavePath); databaseCard.Data = editedData; //onSaveDatabase?.Invoke((Database)card.Data); } }