Beispiel #1
0
        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();
        }
Beispiel #2
0
        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);
        }