diff --git a/src/SMAPI/Events/ControlEvents.cs b/src/SMAPI/Events/ControlEvents.cs
index 973bb245..77bbf3ab 100644
--- a/src/SMAPI/Events/ControlEvents.cs
+++ b/src/SMAPI/Events/ControlEvents.cs
@@ -20,22 +20,22 @@ namespace StardewModdingAPI.Events
/// Raised when the changes. That happens when the player presses or releases a key.
public static event EventHandler KeyboardChanged
{
- add => ControlEvents.EventManager.Control_KeyboardChanged.Add(value);
- remove => ControlEvents.EventManager.Control_KeyboardChanged.Remove(value);
+ add => ControlEvents.EventManager.Legacy_Control_KeyboardChanged.Add(value);
+ remove => ControlEvents.EventManager.Legacy_Control_KeyboardChanged.Remove(value);
}
/// Raised when the player presses a keyboard key.
public static event EventHandler KeyPressed
{
- add => ControlEvents.EventManager.Control_KeyPressed.Add(value);
- remove => ControlEvents.EventManager.Control_KeyPressed.Remove(value);
+ add => ControlEvents.EventManager.Legacy_Control_KeyPressed.Add(value);
+ remove => ControlEvents.EventManager.Legacy_Control_KeyPressed.Remove(value);
}
/// Raised when the player releases a keyboard key.
public static event EventHandler KeyReleased
{
- add => ControlEvents.EventManager.Control_KeyReleased.Add(value);
- remove => ControlEvents.EventManager.Control_KeyReleased.Remove(value);
+ add => ControlEvents.EventManager.Legacy_Control_KeyReleased.Add(value);
+ remove => ControlEvents.EventManager.Legacy_Control_KeyReleased.Remove(value);
}
/// Raised when the changes. That happens when the player moves the mouse, scrolls the mouse wheel, or presses/releases a button.
@@ -48,29 +48,29 @@ namespace StardewModdingAPI.Events
/// The player pressed a controller button. This event isn't raised for trigger buttons.
public static event EventHandler ControllerButtonPressed
{
- add => ControlEvents.EventManager.Control_ControllerButtonPressed.Add(value);
- remove => ControlEvents.EventManager.Control_ControllerButtonPressed.Remove(value);
+ add => ControlEvents.EventManager.Legacy_Control_ControllerButtonPressed.Add(value);
+ remove => ControlEvents.EventManager.Legacy_Control_ControllerButtonPressed.Remove(value);
}
/// The player released a controller button. This event isn't raised for trigger buttons.
public static event EventHandler ControllerButtonReleased
{
- add => ControlEvents.EventManager.Control_ControllerButtonReleased.Add(value);
- remove => ControlEvents.EventManager.Control_ControllerButtonReleased.Remove(value);
+ add => ControlEvents.EventManager.Legacy_Control_ControllerButtonReleased.Add(value);
+ remove => ControlEvents.EventManager.Legacy_Control_ControllerButtonReleased.Remove(value);
}
/// The player pressed a controller trigger button.
public static event EventHandler ControllerTriggerPressed
{
- add => ControlEvents.EventManager.Control_ControllerTriggerPressed.Add(value);
- remove => ControlEvents.EventManager.Control_ControllerTriggerPressed.Remove(value);
+ add => ControlEvents.EventManager.Legacy_Control_ControllerTriggerPressed.Add(value);
+ remove => ControlEvents.EventManager.Legacy_Control_ControllerTriggerPressed.Remove(value);
}
/// The player released a controller trigger button.
public static event EventHandler ControllerTriggerReleased
{
- add => ControlEvents.EventManager.Control_ControllerTriggerReleased.Add(value);
- remove => ControlEvents.EventManager.Control_ControllerTriggerReleased.Remove(value);
+ add => ControlEvents.EventManager.Legacy_Control_ControllerTriggerReleased.Add(value);
+ remove => ControlEvents.EventManager.Legacy_Control_ControllerTriggerReleased.Remove(value);
}
diff --git a/src/SMAPI/Events/EventArgsInput.cs b/src/SMAPI/Events/EventArgsInput.cs
index d60f4017..0cafdba5 100644
--- a/src/SMAPI/Events/EventArgsInput.cs
+++ b/src/SMAPI/Events/EventArgsInput.cs
@@ -23,10 +23,10 @@ namespace StardewModdingAPI.Events
public ICursorPosition Cursor { get; }
/// Whether the input should trigger actions on the affected tile.
- public bool IsActionButton { get; }
+ public bool IsActionButton => this.Button.IsActionButton();
/// Whether the input should use tools on the affected tile.
- public bool IsUseToolButton { get; }
+ public bool IsUseToolButton => this.Button.IsUseToolButton();
/// Whether a mod has indicated the key was already handled.
public bool IsSuppressed => this.SuppressButtons.Contains(this.Button);
@@ -38,15 +38,11 @@ namespace StardewModdingAPI.Events
/// Construct an instance.
/// The button on the controller, keyboard, or mouse.
/// The cursor position.
- /// Whether the input should trigger actions on the affected tile.
- /// Whether the input should use tools on the affected tile.
/// The buttons to suppress.
- public EventArgsInput(SButton button, ICursorPosition cursor, bool isActionButton, bool isUseToolButton, HashSet suppressButtons)
+ public EventArgsInput(SButton button, ICursorPosition cursor, HashSet suppressButtons)
{
this.Button = button;
this.Cursor = cursor;
- this.IsActionButton = isActionButton;
- this.IsUseToolButton = isUseToolButton;
this.SuppressButtons = suppressButtons;
}
diff --git a/src/SMAPI/Events/IInputEvents.cs b/src/SMAPI/Events/IInputEvents.cs
new file mode 100644
index 00000000..92802fda
--- /dev/null
+++ b/src/SMAPI/Events/IInputEvents.cs
@@ -0,0 +1,14 @@
+using System;
+
+namespace StardewModdingAPI.Events
+{
+ /// Events raised when the player provides input using a controller, keyboard, or mouse.
+ public interface IInputEvents
+ {
+ /// Raised when the player presses a button on the keyboard, controller, or mouse.
+ event EventHandler ButtonPressed;
+
+ /// Raised when the player releases a button on the keyboard, controller, or mouse.
+ event EventHandler ButtonReleased;
+ }
+}
diff --git a/src/SMAPI/Events/IModEvents.cs b/src/SMAPI/Events/IModEvents.cs
index 99e5523f..16ec6557 100644
--- a/src/SMAPI/Events/IModEvents.cs
+++ b/src/SMAPI/Events/IModEvents.cs
@@ -3,6 +3,9 @@ namespace StardewModdingAPI.Events
/// Manages access to events raised by SMAPI.
public interface IModEvents
{
+ /// Events raised when the player provides input using a controller, keyboard, or mouse.
+ IInputEvents Input { get; }
+
/// Events raised when something changes in the world.
IWorldEvents World { get; }
}
diff --git a/src/SMAPI/Events/InputButtonPressedEventArgs.cs b/src/SMAPI/Events/InputButtonPressedEventArgs.cs
new file mode 100644
index 00000000..c8d55cd4
--- /dev/null
+++ b/src/SMAPI/Events/InputButtonPressedEventArgs.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+
+namespace StardewModdingAPI.Events
+{
+ /// Event arguments when a button is pressed.
+ public class InputButtonPressedArgsInput : EventArgs
+ {
+ /*********
+ ** Properties
+ *********/
+ /// The buttons to suppress.
+ private readonly HashSet SuppressButtons;
+
+
+ /*********
+ ** Accessors
+ *********/
+ /// The button on the controller, keyboard, or mouse.
+ public SButton Button { get; }
+
+ /// The current cursor position.
+ public ICursorPosition Cursor { get; }
+
+ /// Whether a mod has indicated the key was already handled.
+ public bool IsSuppressed => this.SuppressButtons.Contains(this.Button);
+
+
+ /*********
+ ** Public methods
+ *********/
+ /// Construct an instance.
+ /// The button on the controller, keyboard, or mouse.
+ /// The cursor position.
+ /// The buttons to suppress.
+ public InputButtonPressedArgsInput(SButton button, ICursorPosition cursor, HashSet suppressButtons)
+ {
+ this.Button = button;
+ this.Cursor = cursor;
+ this.SuppressButtons = suppressButtons;
+ }
+
+ /// Prevent the game from handling the current button press. This doesn't prevent other mods from receiving the event.
+ public void SuppressButton()
+ {
+ this.SuppressButton(this.Button);
+ }
+
+ /// Prevent the game from handling a button press. This doesn't prevent other mods from receiving the event.
+ /// The button to suppress.
+ public void SuppressButton(SButton button)
+ {
+ this.SuppressButtons.Add(button);
+ }
+ }
+}
diff --git a/src/SMAPI/Events/InputButtonReleasedEventArgs.cs b/src/SMAPI/Events/InputButtonReleasedEventArgs.cs
new file mode 100644
index 00000000..863fab6a
--- /dev/null
+++ b/src/SMAPI/Events/InputButtonReleasedEventArgs.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+
+namespace StardewModdingAPI.Events
+{
+ /// Event arguments when a button is released.
+ public class InputButtonReleasedArgsInput : EventArgs
+ {
+ /*********
+ ** Properties
+ *********/
+ /// The buttons to suppress.
+ private readonly HashSet SuppressButtons;
+
+
+ /*********
+ ** Accessors
+ *********/
+ /// The button on the controller, keyboard, or mouse.
+ public SButton Button { get; }
+
+ /// The current cursor position.
+ public ICursorPosition Cursor { get; }
+
+ /// Whether a mod has indicated the key was already handled.
+ public bool IsSuppressed => this.SuppressButtons.Contains(this.Button);
+
+
+ /*********
+ ** Public methods
+ *********/
+ /// Construct an instance.
+ /// The button on the controller, keyboard, or mouse.
+ /// The cursor position.
+ /// The buttons to suppress.
+ public InputButtonReleasedArgsInput(SButton button, ICursorPosition cursor, HashSet suppressButtons)
+ {
+ this.Button = button;
+ this.Cursor = cursor;
+ this.SuppressButtons = suppressButtons;
+ }
+
+ /// Prevent the game from handling the current button press. This doesn't prevent other mods from receiving the event.
+ public void SuppressButton()
+ {
+ this.SuppressButton(this.Button);
+ }
+
+ /// Prevent the game from handling a button press. This doesn't prevent other mods from receiving the event.
+ /// The button to suppress.
+ public void SuppressButton(SButton button)
+ {
+ this.SuppressButtons.Add(button);
+ }
+ }
+}
diff --git a/src/SMAPI/Events/InputEvents.cs b/src/SMAPI/Events/InputEvents.cs
index 84d7ce5d..e62d6ee6 100644
--- a/src/SMAPI/Events/InputEvents.cs
+++ b/src/SMAPI/Events/InputEvents.cs
@@ -19,15 +19,15 @@ namespace StardewModdingAPI.Events
/// Raised when the player presses a button on the keyboard, controller, or mouse.
public static event EventHandler ButtonPressed
{
- add => InputEvents.EventManager.Input_ButtonPressed.Add(value);
- remove => InputEvents.EventManager.Input_ButtonPressed.Remove(value);
+ add => InputEvents.EventManager.Legacy_Input_ButtonPressed.Add(value);
+ remove => InputEvents.EventManager.Legacy_Input_ButtonPressed.Remove(value);
}
/// Raised when the player releases a keyboard key on the keyboard, controller, or mouse.
public static event EventHandler ButtonReleased
{
- add => InputEvents.EventManager.Input_ButtonReleased.Add(value);
- remove => InputEvents.EventManager.Input_ButtonReleased.Remove(value);
+ add => InputEvents.EventManager.Legacy_Input_ButtonReleased.Add(value);
+ remove => InputEvents.EventManager.Legacy_Input_ButtonReleased.Remove(value);
}
diff --git a/src/SMAPI/Framework/Events/EventManager.cs b/src/SMAPI/Framework/Events/EventManager.cs
index 100e4e43..62d9582e 100644
--- a/src/SMAPI/Framework/Events/EventManager.cs
+++ b/src/SMAPI/Framework/Events/EventManager.cs
@@ -32,6 +32,15 @@ namespace StardewModdingAPI.Framework.Events
/// Raised after terrain features (like floors and trees) are added or removed in a location.
public readonly ManagedEvent World_TerrainFeatureListChanged;
+ /****
+ ** Input
+ ****/
+ /// Raised when the player presses a button on the keyboard, controller, or mouse.
+ public readonly ManagedEvent Input_ButtonPressed;
+
+ /// Raised when the player released a button on the keyboard, controller, or mouse.
+ public readonly ManagedEvent Input_ButtonReleased;
+
/*********
** Events (old)
@@ -46,28 +55,28 @@ namespace StardewModdingAPI.Framework.Events
** ControlEvents
****/
/// Raised when the changes. That happens when the player presses or releases a key.
- public readonly ManagedEvent Control_KeyboardChanged;
+ public readonly ManagedEvent Legacy_Control_KeyboardChanged;
/// Raised when the player presses a keyboard key.
- public readonly ManagedEvent Control_KeyPressed;
+ public readonly ManagedEvent Legacy_Control_KeyPressed;
/// Raised when the player releases a keyboard key.
- public readonly ManagedEvent Control_KeyReleased;
+ public readonly ManagedEvent Legacy_Control_KeyReleased;
/// Raised when the changes. That happens when the player moves the mouse, scrolls the mouse wheel, or presses/releases a button.
public readonly ManagedEvent Control_MouseChanged;
/// The player pressed a controller button. This event isn't raised for trigger buttons.
- public readonly ManagedEvent Control_ControllerButtonPressed;
+ public readonly ManagedEvent Legacy_Control_ControllerButtonPressed;
/// The player released a controller button. This event isn't raised for trigger buttons.
- public readonly ManagedEvent Control_ControllerButtonReleased;
+ public readonly ManagedEvent Legacy_Control_ControllerButtonReleased;
/// The player pressed a controller trigger button.
- public readonly ManagedEvent Control_ControllerTriggerPressed;
+ public readonly ManagedEvent Legacy_Control_ControllerTriggerPressed;
/// The player released a controller trigger button.
- public readonly ManagedEvent Control_ControllerTriggerReleased;
+ public readonly ManagedEvent Legacy_Control_ControllerTriggerReleased;
/****
** GameEvents
@@ -124,10 +133,10 @@ namespace StardewModdingAPI.Framework.Events
** InputEvents
****/
/// Raised when the player presses a button on the keyboard, controller, or mouse.
- public readonly ManagedEvent Input_ButtonPressed;
+ public readonly ManagedEvent Legacy_Input_ButtonPressed;
/// Raised when the player releases a keyboard key on the keyboard, controller, or mouse.
- public readonly ManagedEvent Input_ButtonReleased;
+ public readonly ManagedEvent Legacy_Input_ButtonReleased;
/****
** LocationEvents
@@ -234,6 +243,9 @@ namespace StardewModdingAPI.Framework.Events
ManagedEvent ManageEvent(string typeName, string eventName) => new ManagedEvent($"{typeName}.{eventName}", monitor, modRegistry);
// init events (new)
+ this.Input_ButtonPressed = ManageEventOf(nameof(IModEvents.Input), nameof(IInputEvents.ButtonPressed));
+ this.Input_ButtonReleased = ManageEventOf(nameof(IModEvents.Input), nameof(IInputEvents.ButtonReleased));
+
this.World_BuildingListChanged = ManageEventOf(nameof(IModEvents.World), nameof(IWorldEvents.LocationListChanged));
this.World_LargeTerrainFeatureListChanged = ManageEventOf(nameof(IModEvents.World), nameof(IWorldEvents.LargeTerrainFeatureListChanged));
this.World_LocationListChanged = ManageEventOf(nameof(IModEvents.World), nameof(IWorldEvents.BuildingListChanged));
@@ -244,13 +256,13 @@ namespace StardewModdingAPI.Framework.Events
// init events (old)
this.Content_LocaleChanged = ManageEventOf>(nameof(ContentEvents), nameof(ContentEvents.AfterLocaleChanged));
- this.Control_ControllerButtonPressed = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.ControllerButtonPressed));
- this.Control_ControllerButtonReleased = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.ControllerButtonReleased));
- this.Control_ControllerTriggerPressed = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.ControllerTriggerPressed));
- this.Control_ControllerTriggerReleased = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.ControllerTriggerReleased));
- this.Control_KeyboardChanged = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.KeyboardChanged));
- this.Control_KeyPressed = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.KeyPressed));
- this.Control_KeyReleased = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.KeyReleased));
+ this.Legacy_Control_ControllerButtonPressed = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.ControllerButtonPressed));
+ this.Legacy_Control_ControllerButtonReleased = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.ControllerButtonReleased));
+ this.Legacy_Control_ControllerTriggerPressed = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.ControllerTriggerPressed));
+ this.Legacy_Control_ControllerTriggerReleased = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.ControllerTriggerReleased));
+ this.Legacy_Control_KeyboardChanged = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.KeyboardChanged));
+ this.Legacy_Control_KeyPressed = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.KeyPressed));
+ this.Legacy_Control_KeyReleased = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.KeyReleased));
this.Control_MouseChanged = ManageEventOf(nameof(ControlEvents), nameof(ControlEvents.MouseChanged));
this.Game_FirstUpdateTick = ManageEvent(nameof(GameEvents), nameof(GameEvents.FirstUpdateTick));
@@ -270,8 +282,8 @@ namespace StardewModdingAPI.Framework.Events
this.Graphics_OnPreRenderGuiEvent = ManageEvent(nameof(GraphicsEvents), nameof(GraphicsEvents.OnPreRenderGuiEvent));
this.Graphics_OnPostRenderGuiEvent = ManageEvent(nameof(GraphicsEvents), nameof(GraphicsEvents.OnPostRenderGuiEvent));
- this.Input_ButtonPressed = ManageEventOf(nameof(InputEvents), nameof(InputEvents.ButtonPressed));
- this.Input_ButtonReleased = ManageEventOf(nameof(InputEvents), nameof(InputEvents.ButtonReleased));
+ this.Legacy_Input_ButtonPressed = ManageEventOf(nameof(InputEvents), nameof(InputEvents.ButtonPressed));
+ this.Legacy_Input_ButtonReleased = ManageEventOf(nameof(InputEvents), nameof(InputEvents.ButtonReleased));
this.Legacy_Location_LocationsChanged = ManageEventOf(nameof(LocationEvents), nameof(LocationEvents.LocationsChanged));
this.Legacy_Location_BuildingsChanged = ManageEventOf(nameof(LocationEvents), nameof(LocationEvents.BuildingsChanged));
diff --git a/src/SMAPI/Framework/Events/ModEvents.cs b/src/SMAPI/Framework/Events/ModEvents.cs
index cc4cf8d7..90853141 100644
--- a/src/SMAPI/Framework/Events/ModEvents.cs
+++ b/src/SMAPI/Framework/Events/ModEvents.cs
@@ -8,6 +8,9 @@ namespace StardewModdingAPI.Framework.Events
/*********
** Accessors
*********/
+ /// Events raised when the player provides input using a controller, keyboard, or mouse.
+ public IInputEvents Input { get; }
+
/// Events raised when something changes in the world.
public IWorldEvents World { get; }
@@ -20,6 +23,7 @@ namespace StardewModdingAPI.Framework.Events
/// The underlying event manager.
public ModEvents(IModMetadata mod, EventManager eventManager)
{
+ this.Input = new ModInputEvents(mod, eventManager);
this.World = new ModWorldEvents(mod, eventManager);
}
}
diff --git a/src/SMAPI/Framework/Events/ModInputEvents.cs b/src/SMAPI/Framework/Events/ModInputEvents.cs
new file mode 100644
index 00000000..18baec16
--- /dev/null
+++ b/src/SMAPI/Framework/Events/ModInputEvents.cs
@@ -0,0 +1,36 @@
+using System;
+using StardewModdingAPI.Events;
+
+namespace StardewModdingAPI.Framework.Events
+{
+ /// Events raised when the player provides input using a controller, keyboard, or mouse.
+ internal class ModInputEvents : ModEventsBase, IInputEvents
+ {
+ /*********
+ ** Accessors
+ *********/
+ /// Raised when the player presses a button on the keyboard, controller, or mouse.
+ public event EventHandler ButtonPressed
+ {
+ add => this.EventManager.Input_ButtonPressed.Add(value);
+ remove => this.EventManager.Input_ButtonPressed.Remove(value);
+ }
+
+ /// Raised when the player releases a button on the keyboard, controller, or mouse.
+ public event EventHandler ButtonReleased
+ {
+ add => this.EventManager.Input_ButtonReleased.Add(value);
+ remove => this.EventManager.Input_ButtonReleased.Remove(value);
+ }
+
+
+ /*********
+ ** Public methods
+ *********/
+ /// Construct an instance.
+ /// The mod which uses this instance.
+ /// The underlying event manager.
+ internal ModInputEvents(IModMetadata mod, EventManager eventManager)
+ : base(mod, eventManager) { }
+ }
+}
diff --git a/src/SMAPI/Framework/SGame.cs b/src/SMAPI/Framework/SGame.cs
index 1611861f..f87293c2 100644
--- a/src/SMAPI/Framework/SGame.cs
+++ b/src/SMAPI/Framework/SGame.cs
@@ -459,45 +459,47 @@ namespace StardewModdingAPI.Framework
if (status == InputStatus.Pressed)
{
- this.Events.Input_ButtonPressed.Raise(new EventArgsInput(button, cursor, button.IsActionButton(), button.IsUseToolButton(), inputState.SuppressButtons));
+ this.Events.Input_ButtonPressed.Raise(new InputButtonPressedArgsInput(button, cursor, inputState.SuppressButtons));
+ this.Events.Legacy_Input_ButtonPressed.Raise(new EventArgsInput(button, cursor, inputState.SuppressButtons));
// legacy events
if (button.TryGetKeyboard(out Keys key))
{
if (key != Keys.None)
- this.Events.Control_KeyPressed.Raise(new EventArgsKeyPressed(key));
+ this.Events.Legacy_Control_KeyPressed.Raise(new EventArgsKeyPressed(key));
}
else if (button.TryGetController(out Buttons controllerButton))
{
if (controllerButton == Buttons.LeftTrigger || controllerButton == Buttons.RightTrigger)
- this.Events.Control_ControllerTriggerPressed.Raise(new EventArgsControllerTriggerPressed(PlayerIndex.One, controllerButton, controllerButton == Buttons.LeftTrigger ? inputState.RealController.Triggers.Left : inputState.RealController.Triggers.Right));
+ this.Events.Legacy_Control_ControllerTriggerPressed.Raise(new EventArgsControllerTriggerPressed(PlayerIndex.One, controllerButton, controllerButton == Buttons.LeftTrigger ? inputState.RealController.Triggers.Left : inputState.RealController.Triggers.Right));
else
- this.Events.Control_ControllerButtonPressed.Raise(new EventArgsControllerButtonPressed(PlayerIndex.One, controllerButton));
+ this.Events.Legacy_Control_ControllerButtonPressed.Raise(new EventArgsControllerButtonPressed(PlayerIndex.One, controllerButton));
}
}
else if (status == InputStatus.Released)
{
- this.Events.Input_ButtonReleased.Raise(new EventArgsInput(button, cursor, button.IsActionButton(), button.IsUseToolButton(), inputState.SuppressButtons));
+ this.Events.Input_ButtonReleased.Raise(new InputButtonReleasedArgsInput(button, cursor, inputState.SuppressButtons));
+ this.Events.Legacy_Input_ButtonReleased.Raise(new EventArgsInput(button, cursor, inputState.SuppressButtons));
// legacy events
if (button.TryGetKeyboard(out Keys key))
{
if (key != Keys.None)
- this.Events.Control_KeyReleased.Raise(new EventArgsKeyPressed(key));
+ this.Events.Legacy_Control_KeyReleased.Raise(new EventArgsKeyPressed(key));
}
else if (button.TryGetController(out Buttons controllerButton))
{
if (controllerButton == Buttons.LeftTrigger || controllerButton == Buttons.RightTrigger)
- this.Events.Control_ControllerTriggerReleased.Raise(new EventArgsControllerTriggerReleased(PlayerIndex.One, controllerButton, controllerButton == Buttons.LeftTrigger ? inputState.RealController.Triggers.Left : inputState.RealController.Triggers.Right));
+ this.Events.Legacy_Control_ControllerTriggerReleased.Raise(new EventArgsControllerTriggerReleased(PlayerIndex.One, controllerButton, controllerButton == Buttons.LeftTrigger ? inputState.RealController.Triggers.Left : inputState.RealController.Triggers.Right));
else
- this.Events.Control_ControllerButtonReleased.Raise(new EventArgsControllerButtonReleased(PlayerIndex.One, controllerButton));
+ this.Events.Legacy_Control_ControllerButtonReleased.Raise(new EventArgsControllerButtonReleased(PlayerIndex.One, controllerButton));
}
}
}
// raise legacy state-changed events
if (inputState.RealKeyboard != previousInputState.RealKeyboard)
- this.Events.Control_KeyboardChanged.Raise(new EventArgsKeyboardStateChanged(previousInputState.RealKeyboard, inputState.RealKeyboard));
+ this.Events.Legacy_Control_KeyboardChanged.Raise(new EventArgsKeyboardStateChanged(previousInputState.RealKeyboard, inputState.RealKeyboard));
if (inputState.RealMouse != previousInputState.RealMouse)
this.Events.Control_MouseChanged.Raise(new EventArgsMouseStateChanged(previousInputState.RealMouse, inputState.RealMouse, previousInputState.MousePosition, inputState.MousePosition));
}
diff --git a/src/SMAPI/StardewModdingAPI.csproj b/src/SMAPI/StardewModdingAPI.csproj
index 7b9629e2..1bdad1b5 100644
--- a/src/SMAPI/StardewModdingAPI.csproj
+++ b/src/SMAPI/StardewModdingAPI.csproj
@@ -85,7 +85,10 @@
Properties\GlobalAssemblyInfo.cs
+
+
+
@@ -107,6 +110,7 @@
+