Example #1
0
        public bool SelectSetting(bool selected)
        {
            switch (Settings.SettingType(this.index))
            {
            case ConfigTypes.Button:
                // Simply execute the button's operation
                if (selected)
                {
                    Settings.ConfirmSetting(this.index, null);
                    RefreshItemValues();
                    SelectedSettingCursor.force_loc(UICursor.loc);
                    selected = false;
                }
                break;

            case ConfigTypes.SubSettings:
                if (selected)
                {
                    OpenSubMenu = true;
                    SelectedSettingCursor.force_loc(UICursor.loc);
                    selected = false;
                }
                break;

            case ConfigTypes.Keyboard:
            case ConfigTypes.Gamepad:
                break;

            default:
                Items[this.index].set_text_color(selected ? "Green" : "White");
                break;
            }
            SettingSelected = selected;
            Greyed_Cursor   = SettingSelected;

            if (SettingSelected)
            {
                TempSelectedSettings = (ISettings)Settings.Clone();
                TempOriginalSettings = (ISettings)Settings.Clone();
                SelectedSettingCursor.force_loc(UICursor.loc);
                SelectedSettingCursor.set_loc(UICursor.target_loc + new Vector2(VALUE_OFFSET, 0));
                SelectedSettingCursor.update();
            }
            else
            {
                TempSelectedSettings = null;
                TempOriginalSettings = null;
                RefreshCurrentValue(Settings);
                UICursor.force_loc(SelectedSettingCursor.loc);
                UICursor.update();
            }
            active = !SettingSelected;

            return(SettingSelected);
        }