private void Options_ChoiceChanged(object sender, ChoiceChangedEventArgs e)
        {
            if (!e.Id.Contains("PowerOrder_"))
            {
                return;
            }

            int key = int.Parse(e.Id.Replace("PowerOrder_", ""));

            config.Order.TryGetValue(key, out string oldValue);

            int otherKey = config.Order.First((x) => x.Value == e.Value).Key;

            config.Order[otherKey] = oldValue;
            config.Order[key]      = e.Value;
            config.Save();

            try
            {
                int currentTab = Main.optionsPanel.currentTab;
                Main.optionsPanel.RemoveTabs();
                Main.optionsPanel.AddTabs();
                Main.optionsPanel.SetVisibleTab(currentTab);
            }
            catch (Exception er)
            {
                Logger.Log(Logger.Level.Error, ex: er, showOnScreen: true);
            }
        }
    // Token: 0x06000007 RID: 7 RVA: 0x00002294 File Offset: 0x00000494
    public void Options_ChoiceChanged(object sender, ChoiceChangedEventArgs e)
    {
        string id   = e.Id;
        string text = id;

        if (text != null)
        {
            if (!(text == "SnapAngleId"))
            {
                if (!(text == "SeamothAngleId"))
                {
                    if (text == "PrawnAngleId")
                    {
                        Config.PrawnAngleChoiceIndex = e.Index;
                        PlayerPrefs.SetInt("SnapTurningTogglePrawn", e.Index);
                    }
                }
                else
                {
                    Config.SeamothAngleChoiceIndex = e.Index;
                    PlayerPrefs.SetInt("SnapTurningToggleSeamoth", e.Index);
                }
            }
            else
            {
                Config.SnapAngleChoiceIndex = e.Index;
                PlayerPrefs.SetInt("SnapAnglePlayerPrefKey", e.Index);
            }
        }
    }
Example #3
0
        private void OnChoiceChanged(object sender, ChoiceChangedEventArgs e)
        {
            if (m_Syncronizing)
            {
                return;
            }

            switch (e.Id)
            {
            case k_DigitalClockFormatChoiceId:
                DigitalClockFormat format = (DigitalClockFormat)e.Index;
                BaseClocksConfig.DigitalClockFormat = format;
                break;

            case k_ColorPresetChoiceId:
                if (e.Index < m_ColorPresetsChoiceStrings.Length - 1)
                {
                    BaseClocksConfig.ClockFaceColor = m_NameToPreset[e.Value].Color;
                    SyncronizeColorBars();
                }
                break;
            }

            BaseClocksConfig.Save();
        }
Example #4
0
 public void Options_ChoiceChanged(object sender, ChoiceChangedEventArgs e)
 {
     if (e.Id == "textvalue")
     {
         Config.TextValue = e.Index;
         PlayerPrefs.SetInt("TextValue", e.Index);
     }
 }
Example #5
0
 public void OnChoiceChanged(object sender, ChoiceChangedEventArgs e)
 {
     if (e.Id == "pfcMMB")
     {
         Logger.Log($"Set storage opening in inventory to: \"{e.Value}\"");
         PFC_Config.AllowMMB = e.Value;
     }
 }
Example #6
0
 public void Options_DayToggleChanged(object sender, ChoiceChangedEventArgs e)
 {
     if (e.Id != "DayNightToggle")
     {
         return;
     }
     Config.freezeTimeChoice = e.Index;
     PlayerPrefs.SetInt("DayNightToggle", e.Index);
 }
Example #7
0
        private void ModConfigOptions_ChoiceChanged(object sender, ChoiceChangedEventArgs e)
        {
            if (e.Id != ChoiceID)
            {
                return;
            }

            ModConfig.Settings.PowerLevel = (CyclopsPowerLevels)e.Index;
        }
 public void Options_ChoiceChanged(object sender, ChoiceChangedEventArgs e)
 {
     if (e.Id != CHOICE_CHANGED_ID_SNAP_ANGLE)
     {
         return;
     }
     Config.SnapAngleChoiceIndex = e.Index;
     PlayerPrefs.SetInt(PLAYER_PREF_KEY_SNAP_ANGLE, e.Index);
 }
Example #9
0
 public void Options_ChoiceChanged(object sender, ChoiceChangedEventArgs e)
 {
     if (e.Id != "exampleChoice")
     {
         return;
     }
     Config.ChoiceIndex = e.Index;
     PlayerPrefs.SetInt("SMLHelperExampleModChoice", e.Index);
 }
 public void Options_ChoiceChanged(object sender, ChoiceChangedEventArgs e)
 {
     switch (e.Id)
     {
     case CHOICE_CHANGED_ID_SNAP_ANGLE:
         Config.SnapAngleChoiceIndex = e.Index;
         PlayerPrefs.SetInt(PLAYER_PREF_KEY_SNAP_ANGLE, e.Index);
         break;
     }
 }
Example #11
0
        private void Options_ChoiceChanged(object sender, ChoiceChangedEventArgs e)
        {
            switch (e.Id)
            {
            case ModModeID:
                _modMode = QPatch.Configuration.ModMode = (ModModes)System.Enum.Parse(typeof(ModModes), e.Value, true);
                break;
            }

            Mod.SaveModConfiguration();
        }
Example #12
0
        private void Options_ChoiceChanged(object sender, ChoiceChangedEventArgs e)
        {
            switch (e.Id)
            {
            case "Mode":
                Config <CraftConfig> .Get().Mode = (CraftConfig.ApplyMode)e.Index;

                Changed();
                return;
            }
        }
Example #13
0
        private void TextStyleChangeEvent(ChoiceChangedEventArgs e)
        {
            switch (e.Value)
            {
            case "Standard":
                MainPatch.TextValue = "Standard";
                break;

            case "Subtitles":
                MainPatch.TextValue = "Fancy";
                break;
            }
        }
Example #14
0
        private void Options_ChoiceChanged(object sender, ChoiceChangedEventArgs e)
        {
            if (e.Id == "xpGrowth")
            {
                cfg.XP_Multiplier = XPGrowths[e.Value];
                if (cfg.DoubleXPApplied)
                {
                    cfg.XP_Multiplier *= 2;
                }

                Config.defaultXPMult = XPGrowths[e.Value];
            }
            Config.SaveConfig();
        }
        private void BeamColorChanged(object sender, ChoiceChangedEventArgs args)
        {
            if (args.Id != LaserCannonConfig.SECTION_PROGRAM[1])
            {
                return;
            }

            LaserCannonConfig.program_settings["BeamColor"] = ColorHelper.ColorNames[args.Index];
            LaserCannonConfig.beamColor = args.Index;

            LaserCannonConfig.WriteConfig();

            Main.OnConfigChanged.Trigger(true);
        }
Example #16
0
 public void OnChoiceChanged(object sender, ChoiceChangedEventArgs e)
 {
     try
     {
         if (e.Id == "pfcMMB")
         {
             Logger.Log($"Set storage opening in inventory to: \"{e.Value}\"");
             PFC_Config.AllowMMB = e.Value;
         }
     }
     catch (Exception ex)
     {
         Logger.Exception(ex, LoggedWhen.Options);
     }
 }
Example #17
0
        private void BeamColorChanged(object sender, ChoiceChangedEventArgs args)
        {
            if (args.Id != LaserCannonConfig.SECTION_PROGRAM[1])
            {
                return;
            }

            LaserCannonConfig.program_settings["BeamColor"] = Modules.Colors.ColorNames[args.Index];
            LaserCannonConfig.beamColor = args.Index;

            LaserCannonConfig.WriteConfig();

            if (Main.Instance != null)
            {
                Main.Instance.SendMessage("SetBeamColor", SendMessageOptions.DontRequireReceiver);
            }
        }
Example #18
0
        private void ExtraOptions_ChoiceChanged(object sender, ChoiceChangedEventArgs e)
        {
            if (!e.Id.Contains("ExtraOptions_"))
            {
                return;
            }

            string id = e.Id.Replace("ExtraOptions_", "");

            switch (id)
            {
            case "TextureQuality":
                config.TextureQuality = e.Index;
                config.Save();
                Main.ApplyOptions();
                break;
            }
        }
        /// <summary>
        /// Sets the value in the <see cref="Config"/>, optionally saving the <see cref="Config"/> to disk if the
        /// <see cref="MenuAttribute.SaveEvents.ChangeValue"/> flag is set, before passing off to
        /// <see cref="InvokeOnChangeEvents{TSource}(ModOptionAttributeMetadata{T}, object, TSource)"/>
        /// to invoke any methods specified with an <see cref="OnChangeAttribute"/>.
        /// </summary>
        /// <param name="sender">The sender of the original choice changed event.</param>
        /// <param name="e">The <see cref="ChoiceChangedEventArgs"/> for the choice changed event.</param>
        public void HandleChoiceChanged(object sender, ChoiceChangedEventArgs e)
        {
            if (TryGetMetadata(e.Id, out ModOptionAttributeMetadata <T> modOptionMetadata))
            {
                // Set the value in the Config
                MemberInfoMetadata <T> memberInfoMetadata = modOptionMetadata.MemberInfoMetadata;
                ChoiceAttribute        choiceAttribute    = modOptionMetadata.ModOptionAttribute as ChoiceAttribute;

                if (memberInfoMetadata.ValueType.IsEnum && (choiceAttribute.Options == null || !choiceAttribute.Options.Any()))
                {
                    // Enum-based choice where the values are parsed from the enum type
                    object value = Enum.Parse(memberInfoMetadata.ValueType, e.Value);
                    memberInfoMetadata.SetValue(Config, value);
                }
                else if (memberInfoMetadata.ValueType.IsEnum)
                {
                    // Enum-based choice where the values are defined as custom strings
                    object value = Enum.Parse(memberInfoMetadata.ValueType, Enum.GetNames(memberInfoMetadata.ValueType)[e.Index]);
                    memberInfoMetadata.SetValue(Config, value);
                }
                else if (memberInfoMetadata.ValueType == typeof(string))
                {
                    // string-based choice value
                    string value = e.Value;
                    memberInfoMetadata.SetValue(Config, value);
                }
                else if (memberInfoMetadata.ValueType == typeof(int))
                {
                    // index-based choice value
                    int value = e.Index;
                    memberInfoMetadata.SetValue(Config, value);
                }

                // Optionally save the Config to disk
                if (MenuAttribute.SaveOn.HasFlag(MenuAttribute.SaveEvents.ChangeValue))
                {
                    Config.Save();
                }

                // Invoke any OnChange methods specified
                InvokeOnChangeEvents(modOptionMetadata, sender, e);
            }
        }
Example #20
0
        public void OnChoiceChanged(object sender, ChoiceChangedEventArgs eventArgs)
        {
            switch (eventArgs.Id)
            {
            case "toggleMode":
                SnapBuilder.Config.Snapping.KeyMode             = SnapBuilder.Config.ToggleSnappingMode
                                                                = (Toggle.Mode)eventArgs.Index;
                break;

            case "fineSnapMode":
                SnapBuilder.Config.FineSnapping.KeyMode             = SnapBuilder.Config.FineSnappingMode
                                                                    = (Toggle.Mode)eventArgs.Index;
                break;

            case "fineRotateMode":
                SnapBuilder.Config.FineRotation.KeyMode             = SnapBuilder.Config.FineRotationMode
                                                                    = (Toggle.Mode)eventArgs.Index;
                break;
            }
            SnapBuilder.Config.Save();
        }
Example #21
0
 private void ChangedChoice(ChoiceChangedEventArgs e)
 {
     DeathRun.configDirty = Time.time;
 }
Example #22
0
 private void ChangedMurkiness(ChoiceChangedEventArgs e)
 {
     DeathRun.murkinessDirty = true;
     DeathRun.configDirty    = Time.time;
 }
 private void FineRotationModeChanged(ChoiceChangedEventArgs e)
 => FineRotation.KeyMode = (Toggle.Mode)e.Index;
        /// <summary>
        /// Invokes the relevant method(s) specified with the <see cref="OnChangeAttribute"/>(s)
        /// and passes parameters when a value is changed when loaded from disk.
        /// </summary>
        /// <param name="modOptionMetadata">The metadata for the mod option.</param>
        /// <param name="sender">The sender of the event.</param>
        private void InvokeOnChangeEvents(ModOptionAttributeMetadata <T> modOptionMetadata, object sender)
        {
            string id = modOptionMetadata.ModOptionAttribute.Id;
            MemberInfoMetadata <T> memberInfoMetadata = modOptionMetadata.MemberInfoMetadata;

            switch (modOptionMetadata.ModOptionAttribute)
            {
            case ChoiceAttribute choiceAttribute when memberInfoMetadata.ValueType.IsEnum &&
                (choiceAttribute.Options == null || !choiceAttribute.Options.Any()):
                // Enum-based choice where the values are parsed from the enum type
            {
                string[] options   = Enum.GetNames(memberInfoMetadata.ValueType);
                string   value     = memberInfoMetadata.GetValue(Config).ToString();
                var      eventArgs = new ChoiceChangedEventArgs(id, Array.IndexOf(options, value), value);
                InvokeOnChangeEvents(modOptionMetadata, sender, eventArgs);
            }
            break;

            case ChoiceAttribute _ when memberInfoMetadata.ValueType.IsEnum:
                // Enum-based choice where the values are defined as custom strings
            {
                string value     = memberInfoMetadata.GetValue(Config).ToString();
                int    index     = Math.Max(Array.IndexOf(Enum.GetValues(memberInfoMetadata.ValueType), value), 0);
                var    eventArgs = new ChoiceChangedEventArgs(id, index, value);
                InvokeOnChangeEvents(modOptionMetadata, sender, eventArgs);
            }
            break;

            case ChoiceAttribute choiceAttribute when memberInfoMetadata.ValueType == typeof(string):
                // string-based choice value
            {
                string[] options   = choiceAttribute.Options;
                string   value     = memberInfoMetadata.GetValue <string>(Config);
                var      eventArgs = new ChoiceChangedEventArgs(id, Array.IndexOf(options, value), value);
                InvokeOnChangeEvents(modOptionMetadata, sender, eventArgs);
            }
            break;

            case ChoiceAttribute choiceAttribute when memberInfoMetadata.ValueType == typeof(int):
                // index-based choice value
            {
                string[] options   = choiceAttribute.Options;
                int      index     = memberInfoMetadata.GetValue <int>(Config);
                var      eventArgs = new ChoiceChangedEventArgs(id, index, options[index]);
                InvokeOnChangeEvents(modOptionMetadata, sender, eventArgs);
            }
            break;

            case KeybindAttribute _:
            {
                var eventArgs = new KeybindChangedEventArgs(id, memberInfoMetadata.GetValue <KeyCode>(Config));
                InvokeOnChangeEvents(modOptionMetadata, sender, eventArgs);
            }
            break;

            case SliderAttribute _:
            {
                var eventArgs = new SliderChangedEventArgs(id, Convert.ToSingle(memberInfoMetadata.GetValue(Config)));
                InvokeOnChangeEvents(modOptionMetadata, sender, eventArgs);
            }
            break;

            case ToggleAttribute _:
            {
                var eventArgs = new ToggleChangedEventArgs(id, memberInfoMetadata.GetValue <bool>(Config));
                InvokeOnChangeEvents(modOptionMetadata, sender, eventArgs);
            }
            break;
            }
        }
 private void FineSnappingModeChanged(ChoiceChangedEventArgs e)
 => FineSnapping.KeyMode = (Toggle.Mode)e.Index;