public void Options_GearUpKeybindValueChanged(object sender, KeybindChangedEventArgs e) { if (e.Id != "gearUpKeybindPress") { return; } Config.GearUpKeybindValue = e.Key; PlayerPrefsExtra.SetKeyCode("GearUpKeybindPress", e.Key); }
private void Options_KeybindChanged(object sender, KeybindChangedEventArgs e) { if (e.Id == "boostKey") { Config.GetConfig().SpeedBoostToggle = e.Key; } Config.SaveConfig(); }
public void Options_ToggleAirVentsKeybindValueChanged(object sender, KeybindChangedEventArgs e) { if (e.Id != "toggleAirVentsKeybindPress") { return; } Config.ToggleAirVentsKeybindValue = e.Key; PlayerPrefsExtra.SetKeyCode("ToggleAirVentsKeybindPress", e.Key); }
public void Options_KeybindChanged(object sender, KeybindChangedEventArgs e) { if (e.Id == "ExosuitToggleLightKey") { Config <LightsConfig> .Get().ExosuitToggleLightKey = e.Key; Changed(); } }
private void KeyBindChangeEvent(KeybindChangedEventArgs e) { switch (e.Id) { case "BoostKey": MainPatch.BoostKey = e.Key; break; } }
public void Options_LightsLoHiKeybindValueChanged(object sender, KeybindChangedEventArgs e) { if (e.Id != "lightsLoHiKeybindPress") { return; } Config.LightsLoHiKeybindValue = e.Key; PlayerPrefsExtra.SetKeyCode("LightsLoHiKeybindPress", e.Key); }
public void Options_KeybindChanged(object sender, KeybindChangedEventArgs e) { if (e.Id != "exampleKeybind") { return; } Config.KeybindKey = e.Key; PlayerPrefsExtra.SetKeyCode("SMLHelperExampleModKeybind", e.Key); }
//============ EVENTS ============ #region Events private void OnKeybindChanged(object sender, KeybindChangedEventArgs e) { // Stop cannot be unbound for safety reasons if (sender == keybindReaderStop) { if (keybindReaderStop.Keybind == Keybind.None) { TriggerMessageBox.Show(this, MessageIcon.Warning, "Cannot unassign the stop keybind!", "Can't Unbind"); keybindReaderStop.Keybind = e.Previous; return; } } // Make sure the keybind isn't already in use if (e.New != Keybind.None) { string name = ""; if (e.New == keybindReaderPlay.Keybind && sender != keybindReaderPlay) { name = "Play Midi"; } else if (e.New == keybindReaderPause.Keybind && sender != keybindReaderPause) { name = "Pause Midi"; } else if (e.New == keybindReaderStop.Keybind && sender != keybindReaderStop) { name = "Stop Midi"; } else if (e.New == keybindReaderClose.Keybind && sender != keybindReaderClose) { name = "Close Window"; } else if (e.New == keybindReaderMount.Keybind && sender != keybindReaderMount) { name = "Toggle Mount"; } else { for (int i = 0; i < Config.Midis.Count; i++) { if (e.New == Config.Midis[i].Keybind) { name = Config.Midis[i].ProperName; break; } } } if (name != "") { // Nag the user about making poor life choices TriggerMessageBox.Show(this, MessageIcon.Warning, "Keybind is already in use by the '" + name + "' keybind!", "Keybind in Use"); ((KeybindReader)sender).Keybind = e.Previous; } } }
private void Options_KeybindChanged(object sender, KeybindChangedEventArgs e) { switch (e.Id) { case "free_look": freeLookKey = e.Key; break; } UpdateJSON(); }
public void OnMidiKeybindChanged(object sender, KeybindChangedEventArgs e) { if (!loaded) { return; } string name = ""; if (e.New != Keybind.None) { if (e.New == Config.Keybinds.Play) { name = "Play Midi"; } else if (e.New == Config.Keybinds.Pause) { name = "Pause Midi"; } else if (e.New == Config.Keybinds.Stop) { name = "Stop Midi"; } else if (e.New == Config.Keybinds.Close) { name = "Close Window"; } else if (e.New == Config.Keybinds.Mount) { name = "Toggle Mount"; } else { for (int i = 0; i < Config.MidiCount; i++) { if (i != Config.MidiIndex && e.New == Config.Midis[i].Keybind) { name = Config.Midis[i].ProperName; break; } } } } if (name == "") { // The name can safely be changed Config.Midi.Keybind = e.New; } else { // Nag the user about poor life choices TriggerMessageBox.Show(this, MessageIcon.Error, "Keybind is already in use by the '" + name + "' keybind!", "Keybind in Use"); keybindReaderMidi.Keybind = e.Previous; } }
public void Options_KeybindChanged(object sender, KeybindChangedEventArgs e) { if (e.Id == "waterhotkey") { Config.WaterHotKey = e.Key; PlayerPrefsExtra.SetKeyCode("WaterHotKey", e.Key); } else if (e.Id == "foodhotkey") { Config.FoodHotKey = e.Key; PlayerPrefsExtra.SetKeyCode("FoodHotKey", e.Key); } }
public void Options_KeybindChanged(object sender, KeybindChangedEventArgs e) { if (e.Id == "exampleKeybindLeft") { Config.KeybindKeyLeft = e.Key; PlayerPrefsExtra.SetKeyCode("SMLHelperExampleModKeybindLeft", e.Key); } if (e.Id == "exampleKeybindRight") { Config.KeybindKeyRight = e.Key; PlayerPrefsExtra.SetKeyCode("SMLHelperExampleModKeybindRight", e.Key); } }
private void OnKeybindChanged(object sender, KeybindChangedEventArgs e) { if (e.Id == "sleepStart") { keySleepStart = e.Key; Save(); } else if (e.Id == "sleepStop") { keySleepStop = e.Key; Save(); } }
private void Options_KeybindChanged(object sender, KeybindChangedEventArgs e) { switch (e.Id) { case "debuggerKey": ToggleDebuggerVisibilityKey = e.Key; break; case "pauseKey": TogglePauseKey = e.Key; break; } UpdateJSON(); }
/// <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 keybind changed event.</param> /// <param name="e">The <see cref="KeybindChangedEventArgs"/> for the keybind changed event.</param> public void HandleKeybindChanged(object sender, KeybindChangedEventArgs e) { if (TryGetMetadata(e.Id, out ModOptionAttributeMetadata <T> modOptionMetadata)) { // Set the value in the Config modOptionMetadata.MemberInfoMetadata.SetValue(Config, e.Key); // Optionally save the Config to disk if (MenuAttribute.SaveOn.HasFlag(MenuAttribute.SaveEvents.ChangeValue)) { Config.Save(); } // Invoke any OnChange methods specified InvokeOnChangeEvents(modOptionMetadata, sender, e); } }
private void KeyBindChangeEvent(KeybindChangedEventArgs e) { switch (e.Id) { case "WaterHotKey": MainPatch.FoodDrinkHotKey = e.Key; break; case "MedHotKey": MainPatch.MedHotKey = e.Key; break; case "HeatHotKey": MainPatch.HeatHotkey = e.Key; break; } }
public void OnKeybindChanged(object sender, KeybindChangedEventArgs eventArgs) { switch (eventArgs.Id) { case "toggle": SnapBuilder.Config.Snapping.KeyCode = SnapBuilder.Config.ToggleSnappingKey = eventArgs.Key; break; case "fineSnap": SnapBuilder.Config.FineSnapping.KeyCode = SnapBuilder.Config.FineSnappingKey = eventArgs.Key; break; case "fineRotate": SnapBuilder.Config.FineRotation.KeyCode = SnapBuilder.Config.FineRotationKey = eventArgs.Key; break; } SnapBuilder.Config.Save(); }
private void OnKeybindChanged(object _sender, KeybindChangedEventArgs _args) { switch (_args.Id) { case OPT_IDENT_KB_MODIF_KEY: CyclopsStrafeMod.ModConfig.StrafeModifierKey = _args.Key; break; case OPT_IDENT_KB_STRAFE_LEFT: CyclopsStrafeMod.ModConfig.StrafeLeftKey = _args.Key; break; case OPT_IDENT_KB_STRAFE_RIGHT: CyclopsStrafeMod.ModConfig.StrafeRightKey = _args.Key; break; default: throw new System.ArgumentException("Invalid id argument " + _args.Id + " for keybind supplied by smlhelper."); } CyclopsStrafeMod.ModConfig.Save(); }
private void Options_KeybindChanged(object sender, KeybindChangedEventArgs e) { switch (e.Id) { case PLAY_PAUSE_ID: CustomTunes.Config.PlayPauseKey = e.Key; break; case NEXT_TRACK_ID: CustomTunes.Config.NextTrackKey = e.Key; break; case PREV_TRACK_ID: CustomTunes.Config.PreviousTrackKey = e.Key; break; case STOP_TRACK_ID: CustomTunes.Config.StopKey = e.Key; break; } CustomTunes.Config.Save(); }
private void Options_KeybindChanged(object sender, KeybindChangedEventArgs e) { switch (e.Id) { case "roll_to_port": rollToPortKey = e.Key; break; case "roll_to_starboard": rollToStarboardKey = e.Key; break; case "seamoth_roll_toggle": seamothRollToggleKey = e.Key; break; case "scuba_roll_toggle": scubaRollToggleKey = e.Key; break; } UpdateJSON(); }
private void ToggleSnappingKeyChanged(KeybindChangedEventArgs e) => Snapping.KeyCode = e.Key;
/// <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 FineRotationKeyChanged(KeybindChangedEventArgs e) => FineRotation.KeyCode = e.Key;
private void FineSnappingKeyChanged(KeybindChangedEventArgs e) => FineSnapping.KeyCode = e.Key;
private void EnableRotationKeyChanged(KeybindChangedEventArgs e) => ToggleRotation.KeyCode = e.Key;