diff options
author | ClxS <slxxls92@gmail.com> | 2016-03-07 13:49:45 +0000 |
---|---|---|
committer | ClxS <slxxls92@gmail.com> | 2016-03-07 13:49:45 +0000 |
commit | 71bcfc11dea8c189152a9aa2534c87e1b1486018 (patch) | |
tree | fbfe5327353e0102dc2fc3b7bb6020e1010aee16 /StardewModdingAPI/Events | |
parent | 49090c98fcdc11ca536de42875f50b763e83ce63 (diff) | |
download | SMAPI-71bcfc11dea8c189152a9aa2534c87e1b1486018.tar.gz SMAPI-71bcfc11dea8c189152a9aa2534c87e1b1486018.tar.bz2 SMAPI-71bcfc11dea8c189152a9aa2534c87e1b1486018.zip |
Partially completed events for gamepad input
Diffstat (limited to 'StardewModdingAPI/Events')
-rw-r--r-- | StardewModdingAPI/Events/Controls.cs | 15 | ||||
-rw-r--r-- | StardewModdingAPI/Events/EventArgs.cs | 24 |
2 files changed, 37 insertions, 2 deletions
diff --git a/StardewModdingAPI/Events/Controls.cs b/StardewModdingAPI/Events/Controls.cs index 8cf0f431..fa344bab 100644 --- a/StardewModdingAPI/Events/Controls.cs +++ b/StardewModdingAPI/Events/Controls.cs @@ -1,4 +1,5 @@ -using Microsoft.Xna.Framework.Input;
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Input;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -13,6 +14,8 @@ namespace StardewModdingAPI.Events public static event EventHandler<EventArgsKeyPressed> KeyPressed = delegate { };
public static event EventHandler<EventArgsKeyPressed> KeyReleased = delegate { };
public static event EventHandler<EventArgsMouseStateChanged> MouseChanged = delegate { };
+ public static event EventHandler<EventArgsControllerButtonPressed> ControllerButtonPressed = delegate { };
+ public static event EventHandler<EventArgsControllerButtonReleased> ControllerButtonReleased = delegate { };
public static void InvokeKeyboardChanged(KeyboardState priorState, KeyboardState newState)
{
@@ -33,5 +36,15 @@ namespace StardewModdingAPI.Events {
KeyReleased.Invoke(null, new EventArgsKeyPressed(key));
}
+
+ public static void InvokeButtonPressed(PlayerIndex playerIndex, Buttons buttons)
+ {
+ ControllerButtonPressed.Invoke(null, new EventArgsControllerButtonPressed(playerIndex, buttons));
+ }
+
+ public static void InvokeButtonReleased(PlayerIndex playerIndex, Buttons buttons)
+ {
+ ControllerButtonReleased.Invoke(null, new EventArgsControllerButtonReleased(playerIndex, buttons));
+ }
}
}
diff --git a/StardewModdingAPI/Events/EventArgs.cs b/StardewModdingAPI/Events/EventArgs.cs index 66d057a7..6c5e1401 100644 --- a/StardewModdingAPI/Events/EventArgs.cs +++ b/StardewModdingAPI/Events/EventArgs.cs @@ -30,7 +30,29 @@ namespace StardewModdingAPI.Events }
public Keys KeyPressed { get; private set; }
}
-
+
+ public class EventArgsControllerButtonPressed : EventArgs
+ {
+ public EventArgsControllerButtonPressed(PlayerIndex playerIndex, Buttons buttonPressed)
+ {
+ PlayerIndex = playerIndex;
+ ButtonPressed = buttonPressed;
+ }
+ public PlayerIndex PlayerIndex;
+ public Buttons ButtonPressed { get; private set; }
+ }
+
+ public class EventArgsControllerButtonReleased : EventArgs
+ {
+ public EventArgsControllerButtonReleased(PlayerIndex playerIndex, Buttons buttonReleased)
+ {
+ PlayerIndex = playerIndex;
+ ButtonReleased = buttonReleased;
+ }
+ public PlayerIndex PlayerIndex;
+ public Buttons ButtonReleased { get; private set; }
+ }
+
public class EventArgsMouseStateChanged : EventArgs
{
public EventArgsMouseStateChanged(MouseState priorState, MouseState newState)
|