/// <inheritdoc cref="IInputEvents.ButtonsChanged"/> /// <param name="sender">The event sender.</param> /// <param name="e">The event data.</param> private void OnButtonsChanged(object?sender, ButtonsChangedEventArgs e) { if (!this.Config.Enabled) // don't check EnableAutomation, since overlay is still available for farmhands { return; } try { // toggle overlay if (Context.IsPlayerFree && this.Keys.ToggleOverlay.JustPressed()) { if (this.CurrentOverlay != null) { this.DisableOverlay(); } else { this.EnableOverlay(); } } } catch (Exception ex) { this.HandleError(ex, "handling key input"); } }
private void OnButtonsChanged(object sender, ButtonsChangedEventArgs args) { if (!Config.Enabled) { return; } if (Config.HotKeyCustomMessage.JustPressed()) { if (!Context.IsPlayerFree) { return; } ShowReminderMenu(); } else if (Config.HotKeyActivate.JustPressed()) { if (RemindOnDayStart) { Deactivate(); ReminderBody = null; } else { Activate(); } } }
private void OnButtonsChanged(object sender, ButtonsChangedEventArgs e) { if (Context.IsWorldReady && Context.IsPlayerFree && list.Value != null && !this.list.Value.IncompatibleMultiplayerHost) { if (e.Pressed.Contains(this.config.hotkey) || this.config.hotkeyList.JustPressed()) { if (Game1.activeClickableMenu != null) { Game1.exitActiveMenu(); } Game1.activeClickableMenu = new ToDoMenu(this, this.list.Value); } if (e.Pressed.Contains(this.config.overlay.hotkey) || this.config.overlay.hotkeyList.JustPressed()) { if (overlay.Value != null) { overlay.Value.Dispose(); overlay.Value = null; } else if (config.overlay.enabled) { overlay.Value = new ToDoOverlay(this, list.Value); } } } }
private void CheckForHotkey(object sender, ButtonsChangedEventArgs e) { if (config.DropKey.JustPressed()) { if (Context.IsPlayerFree) { Item item = Game1.player.CurrentItem; if (item != null && item.canBeDropped() && item.canBeTrashed()) { DropItem(Game1.player, item.getOne()); Game1.player.reduceActiveItemByOne(); } } else if (Context.IsWorldReady && Game1.activeClickableMenu is GameMenu menu) { if (menu.GetCurrentPage() is InventoryPage invPage) { if (CheckHeldItem((Item i) => i != null && i.canBeDropped() && i.canBeTrashed())) { DropItem(Game1.player, TakeHeldItem()); } } } } }
private void Input_ButtonsChanged(object sender, ButtonsChangedEventArgs e) { foreach (SButton button in e.Pressed) { if (button == SButton.MouseRight) { foreach (ModData m in Data) { foreach (Totem t in m.Totems) { if (Game1.player.ActiveObject?.ParentSheetIndex == JAAPIInstance.GetObjectId(t.Name)) { Object o = Game1.player.ActiveObject; try { Helper.Reflection.GetMethod(o, "totemWarp", true).Invoke(Game1.player); } catch (Exception ex) { Monitor1.Log($"Failed in {nameof(Input_ButtonsChanged)} while trying to invoke method 'Object.totemWarp':\n{ex}", LogLevel.Error); Monitor1.Log(ex.StackTrace, LogLevel.Trace); } } } } } } }
private void OnButtonsChanged(object sender, ButtonsChangedEventArgs arg) { if (Config.ReloadKey.JustPressed()) { LoadConfig(); Monitor.Log("Reload Config", LogLevel.Trace); } }
/********* ** Private methods *********/ /// <summary>Raised after the player presses any buttons on the keyboard, controller, or mouse.</summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event data.</param> private void OnButtonsChanged(object sender, ButtonsChangedEventArgs e) { if (this.CanToggle() && this.ToggleKey.JustPressed()) { bool enabled = Game1.player.ignoreCollisions = !Game1.player.ignoreCollisions; this.ShowConfirmationMessage(enabled, this.ToggleKey); } }
/// <summary>Handle the player pressing or releasing any buttons if <see cref="ICheat.OnSaveLoaded"/> indicated input was needed.</summary> /// <param name="context">The cheat context.</param> /// <param name="e">The input event arguments.</param> public override void OnButtonsChanged(CheatContext context, ButtonsChangedEventArgs e) { ModConfig config = context.Config; if (config.FreezeTimeKey.JustPressed()) { config.FreezeTime = !config.FreezeTime; } }
/************************************************** * EVENT HANDLERS **************************************************/ public void OnButtonsChanged(object sender, ButtonsChangedEventArgs args) { if (!DisableUntilHPChanges && Config.temp_hide_hotkey.JustPressed()) { var hudmsg = new HUDMessage(Helper.Translation.Get("do_hidden_temp"), ""); Game1.addHUDMessage(hudmsg); DisableUntilHPChanges = true; } }
/// <inheritdoc cref="IInputEvents.ButtonsChanged"/> /// <param name="sender">The event sender.</param> /// <param name="e">The event data.</param> private void OnButtonsChanged(object?sender, ButtonsChangedEventArgs e) { if (Context.ScreenId != this.ScreenId) { return; } this.ReceiveButtonsChanged(sender, e); }
private static void OnButtonsChanged(object sender, ButtonsChangedEventArgs e) { if (Context.IsWorldReady) { if (e.Pressed.Contains(Config.StashHotKey)) { ItemStashing.StashItemsInNearbyChests(Config.Radius); } } }
private void OnButtonChanged(object sender, ButtonsChangedEventArgs e) { if (e.Pressed.Contains(SButton.LeftShift) || e.Pressed.Contains(SButton.RightShift)) { _shiftPressed = true; } else if (e.Released.Contains(SButton.LeftShift) || e.Released.Contains(SButton.RightShift)) { _shiftPressed = false; } }
private void OnButtonsChanged(object sender, ButtonsChangedEventArgs e) { if (!Context.IsPlayerFree || !Context.CanPlayerMove) { return; } if (_config.ShowMenuKey.JustPressed()) { Game1.activeClickableMenu = GetSpawnMenu(); } }
private void OnButtonsChanged(object sender, ButtonsChangedEventArgs e) { if (Config.Keys.Reload.JustPressed()) { LoadConfig(); } if (Config.Keys.Toggle.JustPressed()) { RegisterEvent(); } }
private void ButtonsChanged(object?sender, ButtonsChangedEventArgs e) { if (e.Pressed.Contains(SButton.OemTilde)) { Monitor.Log("Placing our portable bed."); Vector2 targetTile = Game1.player.GetGrabTile(); BedFurniture bed = Utility.fuzzyItemSearch("DecidedlyHuman.SleepAnywhereItems/Portable Bed") as BedFurniture; bed.TileLocation = targetTile; Game1.currentLocation.furniture.Add(bed); } }
/// <inheritdoc /> public void OnButtonsChanged(ButtonsChangedEventArgs e) { // get keys SButton[] released = e.Released.Where(this.IsValidKey).ToArray(); SButton[] held = e.Held.Where(this.IsValidKey).ToArray(); // apply keybind if (released.Any()) { this.HandleButtons(released.Concat(held).ToArray()); this.IsFinished = true; } }
private void OnButtonsChanged(object sender, ButtonsChangedEventArgs e) { if (!Context.IsWorldReady || !Context.IsPlayerFree) { return; } // this is done in buttonsChanged instead of buttonPressed as recommended // in the documentation: https://stardewcommunitywiki.com/Modding:Modder_Guide/APIs/Input#KeybindList if (Config.TreeMenuKey.JustPressed()) { OpenTreeMenu(Game1.currentLocation); } }
/// <inheritdoc/> public override void OnButtonsChanged(object sender, ButtonsChangedEventArgs e) { if (AwesomeProfessions.Config.ModKey.JustPressed()) { AwesomeProfessions.EventManager.Subscribe(new ArrowPointerUpdateTickedEvent(), new TrackerRenderedHudEvent()); } else if (AwesomeProfessions.Config.ModKey.GetState() == SButtonState.Released) { AwesomeProfessions.EventManager.Unsubscribe(typeof(TrackerRenderedHudEvent)); if (!(AwesomeProfessions.EventManager.IsSubscribed(typeof(ProspectorHuntRenderedHudEvent)) || AwesomeProfessions.EventManager.IsSubscribed(typeof(ScavengerHuntRenderedHudEvent)))) { AwesomeProfessions.EventManager.Unsubscribe(typeof(ArrowPointerUpdateTickedEvent)); } } }
//private void OnWarped(object sender, WarpedEventArgs e) //{ // minigame.Value.OnWarped(sender, e); //} private void Input_ButtonsChanged(object sender, ButtonsChangedEventArgs e) //this.Monitor.Log(locationName, LogLevel.Debug); { if (!Context.IsWorldReady) { return; } if (e.Pressed.Contains(SButton.F5)) { UpdateConfig(false); } if (Game1.player.IsLocalPlayer) { minigame.Value.Input_ButtonsChanged(sender, e); } }
/// <summary>Raised after the player presses any buttons on the keyboard, controller, or mouse.</summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event data.</param> private void OnButtonsChanged(object sender, ButtonsChangedEventArgs e) { if (!this.IsEnabled || !Context.IsPlayerFree) { return; } if (this.Keys.SummonTractor.JustPressed() && !Game1.player.isRidingHorse()) { this.SummonTractor(); } else if (this.Keys.DismissTractor.JustPressed() && Game1.player.isRidingHorse()) { this.DismissTractor(Game1.player.mount); } }
private void OnButtonsChanged(object sender, ButtonsChangedEventArgs e) { if (Game1.activeClickableMenu == null) { if (_config.ToggleShaker.JustPressed()) { _config.IsShakerActive = !_config.IsShakerActive; Helper.WriteConfig(_config); var message = "AutoShaker has been " + (_config.IsShakerActive ? "ACTIVATED" : "DEACTIVATED"); Monitor.Log(message, LogLevel.Info); Game1.addHUDMessage(new HUDMessage(message, null)); } } }
private void Input_ButtonsChanged(object sender, ButtonsChangedEventArgs e) { if (!Config.EnableMod) { return; } if (Config.ResetKeys.JustPressed()) { Monitor.Log($"Reloading {loadedContentPacks.Count} content pack(s)"); foreach (var pack in loadedContentPacks) { Helper.ConsoleCommands.Trigger("patch", new string[] { "reload", pack }); } ReloadSongData(); } }
private void HandleKeyBindings(object sender, ButtonsChangedEventArgs e) { if (_modOptions != null) { if (Context.IsPlayerFree && _modOptions.OpenCalendarKeybind.JustPressed()) { Helper.Input.SuppressActiveKeybinds(_modOptions.OpenCalendarKeybind); Game1.activeClickableMenu = new Billboard(false); } else if (Context.IsPlayerFree && _modOptions.OpenQuestBoardKeybind.JustPressed()) { Helper.Input.SuppressActiveKeybinds(_modOptions.OpenQuestBoardKeybind); Game1.RefreshQuestOfTheDay(); Game1.activeClickableMenu = new Billboard(true); } } }
private void assignKeybinding2(object sender, ButtonsChangedEventArgs e) { if (keybinding2Opt == null) { return; } List <SButton> all = new List <SButton>(); foreach (var button in e.Held) { if (button.TryGetKeyboard(out Keys keys) || button.TryGetController(out _)) { all.Add(button); } } foreach (var button in e.Released) { bool stop = false; if (button.ToString() == "Escape") { stop = true; Game1.playSound("bigDeSelect"); } if (!stop && (button.TryGetKeyboard(out Keys keys) || button.TryGetController(out _))) { stop = true; all.Add(button); Game1.playSound("coin"); keybinding2Opt.Value.Keybinds[0] = new Keybind(all.ToArray()); keybindingLabel.String = keybinding2Opt.Value.Keybinds[0].ToString(); } if (stop) { Mod.instance.Helper.Events.Input.ButtonsChanged -= assignKeybinding2; keybinding2Opt = null; keybindingLabel = null; ui.Obscured = false; } return; } }
/********* ** Private methods *********/ /// <summary>Raised after the player presses a button on the keyboard, controller, or mouse.</summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event data.</param> private void OnButtonsChanged(object sender, ButtonsChangedEventArgs e) { // ignore if player hasn't loaded a save yet if (!Context.IsWorldReady) { return; } if (!isRolling && config.heeliesButton.JustPressed() && CanRoll()) { Engage(); } if (isRolling && config.heeliesButton.GetState() == SButtonState.Released) { Disengage(); JumpToPlayer(); } }
private void OnButtonsChanged(object sender, ButtonsChangedEventArgs e) { if (ModEntry.Config.RestartKey.JustPressed()) { ModEntry.Streams = new Dictionary <string, Stream>(); Input.ClearHeld(); Game1.addHUDMessage(new HUDMessage("Restarting speech recognition...", HUDMessage.newQuest_type)); ModEntry.log("Kaldi engine exited. Restarting...", LogLevel.Debug); this.speechEngine.Restart(); } else if (ModEntry.Config.StopKey.JustPressed()) { ModEntry.Streams = new Dictionary <string, Stream>(); Input.ClearHeld(); this.speechEngine.Exit(); Game1.addHUDMessage(new HUDMessage("Stopped speech recognition", HUDMessage.newQuest_type)); } }