public void Initialize(TranslateSheetData sheetData) { CleanUp(); this.sheetData = sheetData; // Set up bindings. disposables.Add(new ToggleBinding(enabledToggle, () => sheetData.Enabled, delegate(bool v) { sheetData.Enabled = v; TranslateDataChangedEvent?.Invoke(this); })); disposables.Add(new InputFieldBinding(sheetNameField, () => sheetData.Name, delegate(string t) { sheetData.Name = t; TranslateDataChangedEvent?.Invoke(this); })); disposables.Add(new ButtonBinding(deleteSheetButton, () => RequestDeleteEvent?.Invoke(sheetData))); disposables.Add(new ButtonBinding(addHashButton, delegate { TranslateHashData hash = new TranslateHashData(); sheetData.TranslateHashes.Add(hash); AddTranslateHashUIElement(hash); })); disposables.Add(new ButtonBinding(sortByInputButton, delegate { List <TranslateHashData> orderedList = sheetData.TranslateHashes.OrderBy((x) => x.Input).ToList(); SortHashes(orderedList); })); disposables.Add(new ButtonBinding(sortByOutputButton, delegate { List <TranslateHashData> orderedList = sheetData.TranslateHashes.OrderBy((x) => x.Output).ToList(); SortHashes(orderedList); })); disposables.Add(new ButtonBinding(sortByHashTypeButton, delegate { List <TranslateHashData> orderedList = sheetData.TranslateHashes.OrderBy((x) => x.HashType.ToString()).ToList(); SortHashes(orderedList); })); // Create child translate hash UI elements. RebuildUI(); }
public void Initialize(TranslateHashData hashData) { CleanUp(); this.hashData = hashData; // Set up bindings. disposables.Add(new ToggleBinding( enabledToggle, () => hashData.Enabled, delegate(bool v) { hashData.Enabled = v; OnDataChange(); })); disposables.Add(new InputFieldBinding( inputField, () => hashData.Input, delegate(string t) { hashData.Input = t; OnDataChange(); })); disposables.Add(new InputFieldBinding( outputField, () => hashData.Output, delegate(string t) { hashData.Output = t; OnDataChange(); })); disposables.Add(new ButtonBinding(deleteHashButton, () => RequestDeleteEvent?.Invoke(hashData))); // Fill the dropdown with all available TranslateHashTypes. hashTypeDropdown.options = new List <TMP_Dropdown.OptionData>(((TranslateHashType[])Enum.GetValues(typeof(TranslateHashType))).Select((x) => new TMP_Dropdown.OptionData(x.ToString()))); hashTypeDropdown.value = (int)hashData.HashType; hashTypeDropdown.onValueChanged.AddListener(OnHashTypeChanged); }