diff --git a/Assets/--2025/Inputs/PlayerInputActions.cs b/Assets/--2025/Inputs/PlayerInputActions.cs
new file mode 100644
index 00000000..2b2bbdff
--- /dev/null
+++ b/Assets/--2025/Inputs/PlayerInputActions.cs
@@ -0,0 +1,2192 @@
+//------------------------------------------------------------------------------
+//
+// This code was auto-generated by com.unity.inputsystem:InputActionCodeGenerator
+// version 1.14.2
+// from Assets/--2025/Inputs/PlayerInputActions.inputactions
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine.InputSystem;
+using UnityEngine.InputSystem.Utilities;
+
+///
+/// Provides programmatic access to , , and instances defined in asset "Assets/--2025/Inputs/PlayerInputActions.inputactions".
+///
+///
+/// This class is source generated and any manual edits will be discarded if the associated asset is reimported or modified.
+///
+///
+///
+/// using namespace UnityEngine;
+/// using UnityEngine.InputSystem;
+///
+/// // Example of using an InputActionMap named "Player" from a UnityEngine.MonoBehaviour implementing callback interface.
+/// public class Example : MonoBehaviour, MyActions.IPlayerActions
+/// {
+/// private MyActions_Actions m_Actions; // Source code representation of asset.
+/// private MyActions_Actions.PlayerActions m_Player; // Source code representation of action map.
+///
+/// void Awake()
+/// {
+/// m_Actions = new MyActions_Actions(); // Create asset object.
+/// m_Player = m_Actions.Player; // Extract action map object.
+/// m_Player.AddCallbacks(this); // Register callback interface IPlayerActions.
+/// }
+///
+/// void OnDestroy()
+/// {
+/// m_Actions.Dispose(); // Destroy asset object.
+/// }
+///
+/// void OnEnable()
+/// {
+/// m_Player.Enable(); // Enable all actions within map.
+/// }
+///
+/// void OnDisable()
+/// {
+/// m_Player.Disable(); // Disable all actions within map.
+/// }
+///
+/// #region Interface implementation of MyActions.IPlayerActions
+///
+/// // Invoked when "Move" action is either started, performed or canceled.
+/// public void OnMove(InputAction.CallbackContext context)
+/// {
+/// Debug.Log($"OnMove: {context.ReadValue<Vector2>()}");
+/// }
+///
+/// // Invoked when "Attack" action is either started, performed or canceled.
+/// public void OnAttack(InputAction.CallbackContext context)
+/// {
+/// Debug.Log($"OnAttack: {context.ReadValue<float>()}");
+/// }
+///
+/// #endregion
+/// }
+///
+///
+public partial class @PlayerInputActions: IInputActionCollection2, IDisposable
+{
+ ///
+ /// Provides access to the underlying asset instance.
+ ///
+ public InputActionAsset asset { get; }
+
+ ///
+ /// Constructs a new instance.
+ ///
+ public @PlayerInputActions()
+ {
+ asset = InputActionAsset.FromJson(@"{
+ ""version"": 1,
+ ""name"": ""PlayerInputActions"",
+ ""maps"": [
+ {
+ ""name"": ""Player"",
+ ""id"": ""df70fa95-8a34-4494-b137-73ab6b9c7d37"",
+ ""actions"": [
+ {
+ ""name"": ""Move"",
+ ""type"": ""Value"",
+ ""id"": ""351f2ccd-1f9f-44bf-9bec-d62ac5c5f408"",
+ ""expectedControlType"": ""Vector2"",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": true
+ },
+ {
+ ""name"": ""Dodge"",
+ ""type"": ""Button"",
+ ""id"": ""2353e2a9-d08c-42a2-bff9-935fd82415cd"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""Look"",
+ ""type"": ""Value"",
+ ""id"": ""6b444451-8a00-4d00-a97e-f47457f736a8"",
+ ""expectedControlType"": ""Vector2"",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": true
+ },
+ {
+ ""name"": ""Attack"",
+ ""type"": ""Button"",
+ ""id"": ""6c2ab1b8-8984-453a-af3d-a3c78ae1679a"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""Interact"",
+ ""type"": ""Button"",
+ ""id"": ""852140f2-7766-474d-8707-702459ba45f3"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": ""Hold"",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""Crouch"",
+ ""type"": ""Button"",
+ ""id"": ""27c5f898-bc57-4ee1-8800-db469aca5fe3"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""Jump"",
+ ""type"": ""Button"",
+ ""id"": ""f1ba0d36-48eb-4cd5-b651-1c94a6531f70"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""Previous"",
+ ""type"": ""Button"",
+ ""id"": ""2776c80d-3c14-4091-8c56-d04ced07a2b0"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""Next"",
+ ""type"": ""Button"",
+ ""id"": ""b7230bb6-fc9b-4f52-8b25-f5e19cb2c2ba"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""Sprint"",
+ ""type"": ""Button"",
+ ""id"": ""641cd816-40e6-41b4-8c3d-04687c349290"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""AbilitySlot01"",
+ ""type"": ""Button"",
+ ""id"": ""5855497e-7f1f-4f6b-9a9f-5e465f1ea853"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": ""Press(behavior=2)"",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""AbilitySlot02"",
+ ""type"": ""Button"",
+ ""id"": ""7b9bb48f-335c-40a0-9194-68acf0922917"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": ""Press(behavior=2)"",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""AbilitySlot03"",
+ ""type"": ""Button"",
+ ""id"": ""8a078358-5e65-49a4-8a91-1bd5a3790c71"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": ""Press(behavior=2)"",
+ ""initialStateCheck"": false
+ }
+ ],
+ ""bindings"": [
+ {
+ ""name"": """",
+ ""id"": ""978bfe49-cc26-4a3d-ab7b-7d7a29327403"",
+ ""path"": ""/leftStick"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""Move"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": ""WASD"",
+ ""id"": ""00ca640b-d935-4593-8157-c05846ea39b3"",
+ ""path"": ""Dpad"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": """",
+ ""action"": ""Move"",
+ ""isComposite"": true,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": ""up"",
+ ""id"": ""e2062cb9-1b15-46a2-838c-2f8d72a0bdd9"",
+ ""path"": ""/w"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""Move"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""up"",
+ ""id"": ""8180e8bd-4097-4f4e-ab88-4523101a6ce9"",
+ ""path"": ""/upArrow"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""Move"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""down"",
+ ""id"": ""320bffee-a40b-4347-ac70-c210eb8bc73a"",
+ ""path"": ""/s"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""Move"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""down"",
+ ""id"": ""1c5327b5-f71c-4f60-99c7-4e737386f1d1"",
+ ""path"": ""/downArrow"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""Move"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""left"",
+ ""id"": ""d2581a9b-1d11-4566-b27d-b92aff5fabbc"",
+ ""path"": ""/a"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""Move"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""left"",
+ ""id"": ""2e46982e-44cc-431b-9f0b-c11910bf467a"",
+ ""path"": ""/leftArrow"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""Move"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""right"",
+ ""id"": ""fcfe95b8-67b9-4526-84b5-5d0bc98d6400"",
+ ""path"": ""/d"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""Move"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""right"",
+ ""id"": ""77bff152-3580-4b21-b6de-dcd0c7e41164"",
+ ""path"": ""/rightArrow"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""Move"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": """",
+ ""id"": ""1635d3fe-58b6-4ba9-a4e2-f4b964f6b5c8"",
+ ""path"": ""/{Primary2DAxis}"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""XR"",
+ ""action"": ""Move"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""3ea4d645-4504-4529-b061-ab81934c3752"",
+ ""path"": ""/stick"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Joystick"",
+ ""action"": ""Move"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""5dadbd0e-1442-421d-9c83-f5e3bb31ca03"",
+ ""path"": ""/space"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Dodge"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""e746284c-8513-4b44-aefd-3d2d0c040a56"",
+ ""path"": ""/buttonSouth"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Gamepad"",
+ ""action"": ""Dodge"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""40936a73-b509-4922-9b83-f8ed42f8c5c7"",
+ ""path"": ""/secondaryButton"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""XR"",
+ ""action"": ""Dodge"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""c1f7a91b-d0fd-4a62-997e-7fb9b69bf235"",
+ ""path"": ""/rightStick"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""Look"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""8c8e490b-c610-4785-884f-f04217b23ca4"",
+ ""path"": ""/delta"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse;Touch"",
+ ""action"": ""Look"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""3e5f5442-8668-4b27-a940-df99bad7e831"",
+ ""path"": ""/{Hatswitch}"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Joystick"",
+ ""action"": ""Look"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""143bb1cd-cc10-4eca-a2f0-a3664166fe91"",
+ ""path"": ""/buttonWest"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""Attack"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""05f6913d-c316-48b2-a6bb-e225f14c7960"",
+ ""path"": ""/leftButton"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""Attack"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""886e731e-7071-4ae4-95c0-e61739dad6fd"",
+ ""path"": ""/primaryTouch/tap"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Touch"",
+ ""action"": ""Attack"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""ee3d0cd2-254e-47a7-a8cb-bc94d9658c54"",
+ ""path"": ""/trigger"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Joystick"",
+ ""action"": ""Attack"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""8255d333-5683-4943-a58a-ccb207ff1dce"",
+ ""path"": ""/{PrimaryAction}"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""XR"",
+ ""action"": ""Attack"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""b3c1c7f0-bd20-4ee7-a0f1-899b24bca6d7"",
+ ""path"": ""/enter"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Attack"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""cbac6039-9c09-46a1-b5f2-4e5124ccb5ed"",
+ ""path"": ""/2"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Next"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""e15ca19d-e649-4852-97d5-7fe8ccc44e94"",
+ ""path"": ""/dpad/right"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Gamepad"",
+ ""action"": ""Next"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""f2e9ba44-c423-42a7-ad56-f20975884794"",
+ ""path"": ""/leftShift"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Sprint"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""8cbb2f4b-a784-49cc-8d5e-c010b8c7f4e6"",
+ ""path"": ""/leftStickPress"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Gamepad"",
+ ""action"": ""Sprint"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""d8bf24bf-3f2f-4160-a97c-38ec1eb520ba"",
+ ""path"": ""/trigger"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""XR"",
+ ""action"": ""Sprint"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""eb40bb66-4559-4dfa-9a2f-820438abb426"",
+ ""path"": ""/space"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Jump"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""daba33a1-ad0c-4742-a909-43ad1cdfbeb6"",
+ ""path"": ""/buttonSouth"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Gamepad"",
+ ""action"": ""Jump"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""603f3daf-40bd-4854-8724-93e8017f59e3"",
+ ""path"": ""/secondaryButton"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""XR"",
+ ""action"": ""Jump"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""1534dc16-a6aa-499d-9c3a-22b47347b52a"",
+ ""path"": ""/1"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Previous"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""25060bbd-a3a6-476e-8fba-45ae484aad05"",
+ ""path"": ""/dpad/left"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Gamepad"",
+ ""action"": ""Previous"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""1c04ea5f-b012-41d1-a6f7-02e963b52893"",
+ ""path"": ""/f"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Interact"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""b3f66d0b-7751-423f-908b-a11c5bd95930"",
+ ""path"": ""/rightShoulder"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Gamepad"",
+ ""action"": ""Interact"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""4f4649ac-64a8-4a73-af11-b3faef356a4d"",
+ ""path"": ""/buttonEast"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Gamepad"",
+ ""action"": ""Crouch"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""36e52cba-0905-478e-a818-f4bfcb9f3b9a"",
+ ""path"": ""/c"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Crouch"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""3eacf033-6ea1-440c-b5cb-49fd0d4ca1db"",
+ ""path"": ""/1"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""AbilitySlot01"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""19e50db5-5299-4603-9f00-195102ac458a"",
+ ""path"": ""/buttonWest"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""AbilitySlot01"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""0cbe97e3-47b9-423d-a2a6-37be20088798"",
+ ""path"": ""/2"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""AbilitySlot02"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""88af3041-c68c-4f63-a86f-5c324d89eb88"",
+ ""path"": ""/buttonNorth"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""AbilitySlot02"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""af14c7d3-6e43-442c-a8c4-3cc61fed65e0"",
+ ""path"": ""/3"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""AbilitySlot03"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""f5fbe41c-320a-40c7-8e1f-53f6978d0b48"",
+ ""path"": ""/buttonEast"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""AbilitySlot03"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ }
+ ]
+ },
+ {
+ ""name"": ""UI"",
+ ""id"": ""272f6d14-89ba-496f-b7ff-215263d3219f"",
+ ""actions"": [
+ {
+ ""name"": ""Navigate"",
+ ""type"": ""PassThrough"",
+ ""id"": ""c95b2375-e6d9-4b88-9c4c-c5e76515df4b"",
+ ""expectedControlType"": ""Vector2"",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""Submit"",
+ ""type"": ""Button"",
+ ""id"": ""7607c7b6-cd76-4816-beef-bd0341cfe950"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""Cancel"",
+ ""type"": ""Button"",
+ ""id"": ""15cef263-9014-4fd5-94d9-4e4a6234a6ef"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""Point"",
+ ""type"": ""PassThrough"",
+ ""id"": ""32b35790-4ed0-4e9a-aa41-69ac6d629449"",
+ ""expectedControlType"": ""Vector2"",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": true
+ },
+ {
+ ""name"": ""Click"",
+ ""type"": ""PassThrough"",
+ ""id"": ""3c7022bf-7922-4f7c-a998-c437916075ad"",
+ ""expectedControlType"": ""Button"",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": true
+ },
+ {
+ ""name"": ""RightClick"",
+ ""type"": ""PassThrough"",
+ ""id"": ""44b200b1-1557-4083-816c-b22cbdf77ddf"",
+ ""expectedControlType"": ""Button"",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""MiddleClick"",
+ ""type"": ""PassThrough"",
+ ""id"": ""dad70c86-b58c-4b17-88ad-f5e53adf419e"",
+ ""expectedControlType"": ""Button"",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""ScrollWheel"",
+ ""type"": ""PassThrough"",
+ ""id"": ""0489e84a-4833-4c40-bfae-cea84b696689"",
+ ""expectedControlType"": ""Vector2"",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""TrackedDevicePosition"",
+ ""type"": ""PassThrough"",
+ ""id"": ""24908448-c609-4bc3-a128-ea258674378a"",
+ ""expectedControlType"": ""Vector3"",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""TrackedDeviceOrientation"",
+ ""type"": ""PassThrough"",
+ ""id"": ""9caa3d8a-6b2f-4e8e-8bad-6ede561bd9be"",
+ ""expectedControlType"": ""Quaternion"",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ }
+ ],
+ ""bindings"": [
+ {
+ ""name"": ""Gamepad"",
+ ""id"": ""809f371f-c5e2-4e7a-83a1-d867598f40dd"",
+ ""path"": ""2DVector"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": """",
+ ""action"": ""Navigate"",
+ ""isComposite"": true,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": ""up"",
+ ""id"": ""14a5d6e8-4aaf-4119-a9ef-34b8c2c548bf"",
+ ""path"": ""/leftStick/up"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""up"",
+ ""id"": ""9144cbe6-05e1-4687-a6d7-24f99d23dd81"",
+ ""path"": ""/rightStick/up"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""down"",
+ ""id"": ""2db08d65-c5fb-421b-983f-c71163608d67"",
+ ""path"": ""/leftStick/down"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""down"",
+ ""id"": ""58748904-2ea9-4a80-8579-b500e6a76df8"",
+ ""path"": ""/rightStick/down"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""left"",
+ ""id"": ""8ba04515-75aa-45de-966d-393d9bbd1c14"",
+ ""path"": ""/leftStick/left"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""left"",
+ ""id"": ""712e721c-bdfb-4b23-a86c-a0d9fcfea921"",
+ ""path"": ""/rightStick/left"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""right"",
+ ""id"": ""fcd248ae-a788-4676-a12e-f4d81205600b"",
+ ""path"": ""/leftStick/right"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""right"",
+ ""id"": ""1f04d9bc-c50b-41a1-bfcc-afb75475ec20"",
+ ""path"": ""/rightStick/right"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": """",
+ ""id"": ""fb8277d4-c5cd-4663-9dc7-ee3f0b506d90"",
+ ""path"": ""/dpad"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Gamepad"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": ""Joystick"",
+ ""id"": ""e25d9774-381c-4a61-b47c-7b6b299ad9f9"",
+ ""path"": ""2DVector"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": """",
+ ""action"": ""Navigate"",
+ ""isComposite"": true,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": ""up"",
+ ""id"": ""3db53b26-6601-41be-9887-63ac74e79d19"",
+ ""path"": ""/stick/up"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Joystick"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""down"",
+ ""id"": ""0cb3e13e-3d90-4178-8ae6-d9c5501d653f"",
+ ""path"": ""/stick/down"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Joystick"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""left"",
+ ""id"": ""0392d399-f6dd-4c82-8062-c1e9c0d34835"",
+ ""path"": ""/stick/left"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Joystick"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""right"",
+ ""id"": ""942a66d9-d42f-43d6-8d70-ecb4ba5363bc"",
+ ""path"": ""/stick/right"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Joystick"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""Keyboard"",
+ ""id"": ""ff527021-f211-4c02-933e-5976594c46ed"",
+ ""path"": ""2DVector"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": """",
+ ""action"": ""Navigate"",
+ ""isComposite"": true,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": ""up"",
+ ""id"": ""563fbfdd-0f09-408d-aa75-8642c4f08ef0"",
+ ""path"": ""/w"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""up"",
+ ""id"": ""eb480147-c587-4a33-85ed-eb0ab9942c43"",
+ ""path"": ""/upArrow"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""down"",
+ ""id"": ""2bf42165-60bc-42ca-8072-8c13ab40239b"",
+ ""path"": ""/s"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""down"",
+ ""id"": ""85d264ad-e0a0-4565-b7ff-1a37edde51ac"",
+ ""path"": ""/downArrow"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""left"",
+ ""id"": ""74214943-c580-44e4-98eb-ad7eebe17902"",
+ ""path"": ""/a"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""left"",
+ ""id"": ""cea9b045-a000-445b-95b8-0c171af70a3b"",
+ ""path"": ""/leftArrow"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""right"",
+ ""id"": ""8607c725-d935-4808-84b1-8354e29bab63"",
+ ""path"": ""/d"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""right"",
+ ""id"": ""4cda81dc-9edd-4e03-9d7c-a71a14345d0b"",
+ ""path"": ""/rightArrow"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Navigate"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": """",
+ ""id"": ""9e92bb26-7e3b-4ec4-b06b-3c8f8e498ddc"",
+ ""path"": ""*/{Submit}"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse;Gamepad;Touch;Joystick;XR"",
+ ""action"": ""Submit"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""82627dcc-3b13-4ba9-841d-e4b746d6553e"",
+ ""path"": ""*/{Cancel}"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse;Gamepad;Touch;Joystick;XR"",
+ ""action"": ""Cancel"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""c52c8e0b-8179-41d3-b8a1-d149033bbe86"",
+ ""path"": ""/position"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Point"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""e1394cbc-336e-44ce-9ea8-6007ed6193f7"",
+ ""path"": ""/position"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Point"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""5693e57a-238a-46ed-b5ae-e64e6e574302"",
+ ""path"": ""/touch*/position"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Touch"",
+ ""action"": ""Point"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""4faf7dc9-b979-4210-aa8c-e808e1ef89f5"",
+ ""path"": ""/leftButton"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""Click"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""8d66d5ba-88d7-48e6-b1cd-198bbfef7ace"",
+ ""path"": ""/tip"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""Click"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""47c2a644-3ebc-4dae-a106-589b7ca75b59"",
+ ""path"": ""/touch*/press"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Touch"",
+ ""action"": ""Click"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""bb9e6b34-44bf-4381-ac63-5aa15d19f677"",
+ ""path"": ""/trigger"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""XR"",
+ ""action"": ""Click"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""38c99815-14ea-4617-8627-164d27641299"",
+ ""path"": ""/scroll"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""ScrollWheel"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""4c191405-5738-4d4b-a523-c6a301dbf754"",
+ ""path"": ""/rightButton"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""RightClick"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""24066f69-da47-44f3-a07e-0015fb02eb2e"",
+ ""path"": ""/middleButton"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""MiddleClick"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""7236c0d9-6ca3-47cf-a6ee-a97f5b59ea77"",
+ ""path"": ""/devicePosition"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""XR"",
+ ""action"": ""TrackedDevicePosition"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""23e01e3a-f935-4948-8d8b-9bcac77714fb"",
+ ""path"": ""/deviceRotation"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""XR"",
+ ""action"": ""TrackedDeviceOrientation"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ }
+ ]
+ },
+ {
+ ""name"": ""Others"",
+ ""id"": ""e74c8fce-0c71-4a21-aca8-f3ad57166023"",
+ ""actions"": [
+ {
+ ""name"": ""Escape"",
+ ""type"": ""Button"",
+ ""id"": ""3a702ab7-f6e8-4178-a44c-5306907739f3"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ }
+ ],
+ ""bindings"": [
+ {
+ ""name"": """",
+ ""id"": ""40966d0b-fe89-461e-8ded-87224b3bafea"",
+ ""path"": ""/escape"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": "";Keyboard&Mouse"",
+ ""action"": ""Escape"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ }
+ ]
+ }
+ ],
+ ""controlSchemes"": [
+ {
+ ""name"": ""Keyboard&Mouse"",
+ ""bindingGroup"": ""Keyboard&Mouse"",
+ ""devices"": [
+ {
+ ""devicePath"": """",
+ ""isOptional"": false,
+ ""isOR"": false
+ },
+ {
+ ""devicePath"": """",
+ ""isOptional"": false,
+ ""isOR"": false
+ }
+ ]
+ },
+ {
+ ""name"": ""Gamepad"",
+ ""bindingGroup"": ""Gamepad"",
+ ""devices"": [
+ {
+ ""devicePath"": """",
+ ""isOptional"": false,
+ ""isOR"": false
+ }
+ ]
+ },
+ {
+ ""name"": ""Touch"",
+ ""bindingGroup"": ""Touch"",
+ ""devices"": [
+ {
+ ""devicePath"": """",
+ ""isOptional"": false,
+ ""isOR"": false
+ }
+ ]
+ },
+ {
+ ""name"": ""Joystick"",
+ ""bindingGroup"": ""Joystick"",
+ ""devices"": [
+ {
+ ""devicePath"": """",
+ ""isOptional"": false,
+ ""isOR"": false
+ }
+ ]
+ },
+ {
+ ""name"": ""XR"",
+ ""bindingGroup"": ""XR"",
+ ""devices"": [
+ {
+ ""devicePath"": """",
+ ""isOptional"": false,
+ ""isOR"": false
+ }
+ ]
+ }
+ ]
+}");
+ // Player
+ m_Player = asset.FindActionMap("Player", throwIfNotFound: true);
+ m_Player_Move = m_Player.FindAction("Move", throwIfNotFound: true);
+ m_Player_Dodge = m_Player.FindAction("Dodge", throwIfNotFound: true);
+ m_Player_Look = m_Player.FindAction("Look", throwIfNotFound: true);
+ m_Player_Attack = m_Player.FindAction("Attack", throwIfNotFound: true);
+ m_Player_Interact = m_Player.FindAction("Interact", throwIfNotFound: true);
+ m_Player_Crouch = m_Player.FindAction("Crouch", throwIfNotFound: true);
+ m_Player_Jump = m_Player.FindAction("Jump", throwIfNotFound: true);
+ m_Player_Previous = m_Player.FindAction("Previous", throwIfNotFound: true);
+ m_Player_Next = m_Player.FindAction("Next", throwIfNotFound: true);
+ m_Player_Sprint = m_Player.FindAction("Sprint", throwIfNotFound: true);
+ m_Player_AbilitySlot01 = m_Player.FindAction("AbilitySlot01", throwIfNotFound: true);
+ m_Player_AbilitySlot02 = m_Player.FindAction("AbilitySlot02", throwIfNotFound: true);
+ m_Player_AbilitySlot03 = m_Player.FindAction("AbilitySlot03", throwIfNotFound: true);
+ // UI
+ m_UI = asset.FindActionMap("UI", throwIfNotFound: true);
+ m_UI_Navigate = m_UI.FindAction("Navigate", throwIfNotFound: true);
+ m_UI_Submit = m_UI.FindAction("Submit", throwIfNotFound: true);
+ m_UI_Cancel = m_UI.FindAction("Cancel", throwIfNotFound: true);
+ m_UI_Point = m_UI.FindAction("Point", throwIfNotFound: true);
+ m_UI_Click = m_UI.FindAction("Click", throwIfNotFound: true);
+ m_UI_RightClick = m_UI.FindAction("RightClick", throwIfNotFound: true);
+ m_UI_MiddleClick = m_UI.FindAction("MiddleClick", throwIfNotFound: true);
+ m_UI_ScrollWheel = m_UI.FindAction("ScrollWheel", throwIfNotFound: true);
+ m_UI_TrackedDevicePosition = m_UI.FindAction("TrackedDevicePosition", throwIfNotFound: true);
+ m_UI_TrackedDeviceOrientation = m_UI.FindAction("TrackedDeviceOrientation", throwIfNotFound: true);
+ // Others
+ m_Others = asset.FindActionMap("Others", throwIfNotFound: true);
+ m_Others_Escape = m_Others.FindAction("Escape", throwIfNotFound: true);
+ }
+
+ ~@PlayerInputActions()
+ {
+ UnityEngine.Debug.Assert(!m_Player.enabled, "This will cause a leak and performance issues, PlayerInputActions.Player.Disable() has not been called.");
+ UnityEngine.Debug.Assert(!m_UI.enabled, "This will cause a leak and performance issues, PlayerInputActions.UI.Disable() has not been called.");
+ UnityEngine.Debug.Assert(!m_Others.enabled, "This will cause a leak and performance issues, PlayerInputActions.Others.Disable() has not been called.");
+ }
+
+ ///
+ /// Destroys this asset and all associated instances.
+ ///
+ public void Dispose()
+ {
+ UnityEngine.Object.Destroy(asset);
+ }
+
+ ///
+ public InputBinding? bindingMask
+ {
+ get => asset.bindingMask;
+ set => asset.bindingMask = value;
+ }
+
+ ///
+ public ReadOnlyArray? devices
+ {
+ get => asset.devices;
+ set => asset.devices = value;
+ }
+
+ ///
+ public ReadOnlyArray controlSchemes => asset.controlSchemes;
+
+ ///
+ public bool Contains(InputAction action)
+ {
+ return asset.Contains(action);
+ }
+
+ ///
+ public IEnumerator GetEnumerator()
+ {
+ return asset.GetEnumerator();
+ }
+
+ ///
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return GetEnumerator();
+ }
+
+ ///
+ public void Enable()
+ {
+ asset.Enable();
+ }
+
+ ///
+ public void Disable()
+ {
+ asset.Disable();
+ }
+
+ ///
+ public IEnumerable bindings => asset.bindings;
+
+ ///
+ public InputAction FindAction(string actionNameOrId, bool throwIfNotFound = false)
+ {
+ return asset.FindAction(actionNameOrId, throwIfNotFound);
+ }
+
+ ///
+ public int FindBinding(InputBinding bindingMask, out InputAction action)
+ {
+ return asset.FindBinding(bindingMask, out action);
+ }
+
+ // Player
+ private readonly InputActionMap m_Player;
+ private List m_PlayerActionsCallbackInterfaces = new List();
+ private readonly InputAction m_Player_Move;
+ private readonly InputAction m_Player_Dodge;
+ private readonly InputAction m_Player_Look;
+ private readonly InputAction m_Player_Attack;
+ private readonly InputAction m_Player_Interact;
+ private readonly InputAction m_Player_Crouch;
+ private readonly InputAction m_Player_Jump;
+ private readonly InputAction m_Player_Previous;
+ private readonly InputAction m_Player_Next;
+ private readonly InputAction m_Player_Sprint;
+ private readonly InputAction m_Player_AbilitySlot01;
+ private readonly InputAction m_Player_AbilitySlot02;
+ private readonly InputAction m_Player_AbilitySlot03;
+ ///
+ /// Provides access to input actions defined in input action map "Player".
+ ///
+ public struct PlayerActions
+ {
+ private @PlayerInputActions m_Wrapper;
+
+ ///
+ /// Construct a new instance of the input action map wrapper class.
+ ///
+ public PlayerActions(@PlayerInputActions wrapper) { m_Wrapper = wrapper; }
+ ///
+ /// Provides access to the underlying input action "Player/Move".
+ ///
+ public InputAction @Move => m_Wrapper.m_Player_Move;
+ ///
+ /// Provides access to the underlying input action "Player/Dodge".
+ ///
+ public InputAction @Dodge => m_Wrapper.m_Player_Dodge;
+ ///
+ /// Provides access to the underlying input action "Player/Look".
+ ///
+ public InputAction @Look => m_Wrapper.m_Player_Look;
+ ///
+ /// Provides access to the underlying input action "Player/Attack".
+ ///
+ public InputAction @Attack => m_Wrapper.m_Player_Attack;
+ ///
+ /// Provides access to the underlying input action "Player/Interact".
+ ///
+ public InputAction @Interact => m_Wrapper.m_Player_Interact;
+ ///
+ /// Provides access to the underlying input action "Player/Crouch".
+ ///
+ public InputAction @Crouch => m_Wrapper.m_Player_Crouch;
+ ///
+ /// Provides access to the underlying input action "Player/Jump".
+ ///
+ public InputAction @Jump => m_Wrapper.m_Player_Jump;
+ ///
+ /// Provides access to the underlying input action "Player/Previous".
+ ///
+ public InputAction @Previous => m_Wrapper.m_Player_Previous;
+ ///
+ /// Provides access to the underlying input action "Player/Next".
+ ///
+ public InputAction @Next => m_Wrapper.m_Player_Next;
+ ///
+ /// Provides access to the underlying input action "Player/Sprint".
+ ///
+ public InputAction @Sprint => m_Wrapper.m_Player_Sprint;
+ ///
+ /// Provides access to the underlying input action "Player/AbilitySlot01".
+ ///
+ public InputAction @AbilitySlot01 => m_Wrapper.m_Player_AbilitySlot01;
+ ///
+ /// Provides access to the underlying input action "Player/AbilitySlot02".
+ ///
+ public InputAction @AbilitySlot02 => m_Wrapper.m_Player_AbilitySlot02;
+ ///
+ /// Provides access to the underlying input action "Player/AbilitySlot03".
+ ///
+ public InputAction @AbilitySlot03 => m_Wrapper.m_Player_AbilitySlot03;
+ ///
+ /// Provides access to the underlying input action map instance.
+ ///
+ public InputActionMap Get() { return m_Wrapper.m_Player; }
+ ///
+ public void Enable() { Get().Enable(); }
+ ///
+ public void Disable() { Get().Disable(); }
+ ///
+ public bool enabled => Get().enabled;
+ ///
+ /// Implicitly converts an to an instance.
+ ///
+ public static implicit operator InputActionMap(PlayerActions set) { return set.Get(); }
+ ///
+ /// Adds , and callbacks provided via on all input actions contained in this map.
+ ///
+ /// Callback instance.
+ ///
+ /// If is null or have already been added this method does nothing.
+ ///
+ ///
+ public void AddCallbacks(IPlayerActions instance)
+ {
+ if (instance == null || m_Wrapper.m_PlayerActionsCallbackInterfaces.Contains(instance)) return;
+ m_Wrapper.m_PlayerActionsCallbackInterfaces.Add(instance);
+ @Move.started += instance.OnMove;
+ @Move.performed += instance.OnMove;
+ @Move.canceled += instance.OnMove;
+ @Dodge.started += instance.OnDodge;
+ @Dodge.performed += instance.OnDodge;
+ @Dodge.canceled += instance.OnDodge;
+ @Look.started += instance.OnLook;
+ @Look.performed += instance.OnLook;
+ @Look.canceled += instance.OnLook;
+ @Attack.started += instance.OnAttack;
+ @Attack.performed += instance.OnAttack;
+ @Attack.canceled += instance.OnAttack;
+ @Interact.started += instance.OnInteract;
+ @Interact.performed += instance.OnInteract;
+ @Interact.canceled += instance.OnInteract;
+ @Crouch.started += instance.OnCrouch;
+ @Crouch.performed += instance.OnCrouch;
+ @Crouch.canceled += instance.OnCrouch;
+ @Jump.started += instance.OnJump;
+ @Jump.performed += instance.OnJump;
+ @Jump.canceled += instance.OnJump;
+ @Previous.started += instance.OnPrevious;
+ @Previous.performed += instance.OnPrevious;
+ @Previous.canceled += instance.OnPrevious;
+ @Next.started += instance.OnNext;
+ @Next.performed += instance.OnNext;
+ @Next.canceled += instance.OnNext;
+ @Sprint.started += instance.OnSprint;
+ @Sprint.performed += instance.OnSprint;
+ @Sprint.canceled += instance.OnSprint;
+ @AbilitySlot01.started += instance.OnAbilitySlot01;
+ @AbilitySlot01.performed += instance.OnAbilitySlot01;
+ @AbilitySlot01.canceled += instance.OnAbilitySlot01;
+ @AbilitySlot02.started += instance.OnAbilitySlot02;
+ @AbilitySlot02.performed += instance.OnAbilitySlot02;
+ @AbilitySlot02.canceled += instance.OnAbilitySlot02;
+ @AbilitySlot03.started += instance.OnAbilitySlot03;
+ @AbilitySlot03.performed += instance.OnAbilitySlot03;
+ @AbilitySlot03.canceled += instance.OnAbilitySlot03;
+ }
+
+ ///
+ /// Removes , and callbacks provided via on all input actions contained in this map.
+ ///
+ ///
+ /// Calling this method when have not previously been registered has no side-effects.
+ ///
+ ///
+ private void UnregisterCallbacks(IPlayerActions instance)
+ {
+ @Move.started -= instance.OnMove;
+ @Move.performed -= instance.OnMove;
+ @Move.canceled -= instance.OnMove;
+ @Dodge.started -= instance.OnDodge;
+ @Dodge.performed -= instance.OnDodge;
+ @Dodge.canceled -= instance.OnDodge;
+ @Look.started -= instance.OnLook;
+ @Look.performed -= instance.OnLook;
+ @Look.canceled -= instance.OnLook;
+ @Attack.started -= instance.OnAttack;
+ @Attack.performed -= instance.OnAttack;
+ @Attack.canceled -= instance.OnAttack;
+ @Interact.started -= instance.OnInteract;
+ @Interact.performed -= instance.OnInteract;
+ @Interact.canceled -= instance.OnInteract;
+ @Crouch.started -= instance.OnCrouch;
+ @Crouch.performed -= instance.OnCrouch;
+ @Crouch.canceled -= instance.OnCrouch;
+ @Jump.started -= instance.OnJump;
+ @Jump.performed -= instance.OnJump;
+ @Jump.canceled -= instance.OnJump;
+ @Previous.started -= instance.OnPrevious;
+ @Previous.performed -= instance.OnPrevious;
+ @Previous.canceled -= instance.OnPrevious;
+ @Next.started -= instance.OnNext;
+ @Next.performed -= instance.OnNext;
+ @Next.canceled -= instance.OnNext;
+ @Sprint.started -= instance.OnSprint;
+ @Sprint.performed -= instance.OnSprint;
+ @Sprint.canceled -= instance.OnSprint;
+ @AbilitySlot01.started -= instance.OnAbilitySlot01;
+ @AbilitySlot01.performed -= instance.OnAbilitySlot01;
+ @AbilitySlot01.canceled -= instance.OnAbilitySlot01;
+ @AbilitySlot02.started -= instance.OnAbilitySlot02;
+ @AbilitySlot02.performed -= instance.OnAbilitySlot02;
+ @AbilitySlot02.canceled -= instance.OnAbilitySlot02;
+ @AbilitySlot03.started -= instance.OnAbilitySlot03;
+ @AbilitySlot03.performed -= instance.OnAbilitySlot03;
+ @AbilitySlot03.canceled -= instance.OnAbilitySlot03;
+ }
+
+ ///
+ /// Unregisters and unregisters all input action callbacks via .
+ ///
+ ///
+ public void RemoveCallbacks(IPlayerActions instance)
+ {
+ if (m_Wrapper.m_PlayerActionsCallbackInterfaces.Remove(instance))
+ UnregisterCallbacks(instance);
+ }
+
+ ///
+ /// Replaces all existing callback instances and previously registered input action callbacks associated with them with callbacks provided via .
+ ///
+ ///
+ /// If is null, calling this method will only unregister all existing callbacks but not register any new callbacks.
+ ///
+ ///
+ ///
+ ///
+ public void SetCallbacks(IPlayerActions instance)
+ {
+ foreach (var item in m_Wrapper.m_PlayerActionsCallbackInterfaces)
+ UnregisterCallbacks(item);
+ m_Wrapper.m_PlayerActionsCallbackInterfaces.Clear();
+ AddCallbacks(instance);
+ }
+ }
+ ///
+ /// Provides a new instance referencing this action map.
+ ///
+ public PlayerActions @Player => new PlayerActions(this);
+
+ // UI
+ private readonly InputActionMap m_UI;
+ private List m_UIActionsCallbackInterfaces = new List();
+ private readonly InputAction m_UI_Navigate;
+ private readonly InputAction m_UI_Submit;
+ private readonly InputAction m_UI_Cancel;
+ private readonly InputAction m_UI_Point;
+ private readonly InputAction m_UI_Click;
+ private readonly InputAction m_UI_RightClick;
+ private readonly InputAction m_UI_MiddleClick;
+ private readonly InputAction m_UI_ScrollWheel;
+ private readonly InputAction m_UI_TrackedDevicePosition;
+ private readonly InputAction m_UI_TrackedDeviceOrientation;
+ ///
+ /// Provides access to input actions defined in input action map "UI".
+ ///
+ public struct UIActions
+ {
+ private @PlayerInputActions m_Wrapper;
+
+ ///
+ /// Construct a new instance of the input action map wrapper class.
+ ///
+ public UIActions(@PlayerInputActions wrapper) { m_Wrapper = wrapper; }
+ ///
+ /// Provides access to the underlying input action "UI/Navigate".
+ ///
+ public InputAction @Navigate => m_Wrapper.m_UI_Navigate;
+ ///
+ /// Provides access to the underlying input action "UI/Submit".
+ ///
+ public InputAction @Submit => m_Wrapper.m_UI_Submit;
+ ///
+ /// Provides access to the underlying input action "UI/Cancel".
+ ///
+ public InputAction @Cancel => m_Wrapper.m_UI_Cancel;
+ ///
+ /// Provides access to the underlying input action "UI/Point".
+ ///
+ public InputAction @Point => m_Wrapper.m_UI_Point;
+ ///
+ /// Provides access to the underlying input action "UI/Click".
+ ///
+ public InputAction @Click => m_Wrapper.m_UI_Click;
+ ///
+ /// Provides access to the underlying input action "UI/RightClick".
+ ///
+ public InputAction @RightClick => m_Wrapper.m_UI_RightClick;
+ ///
+ /// Provides access to the underlying input action "UI/MiddleClick".
+ ///
+ public InputAction @MiddleClick => m_Wrapper.m_UI_MiddleClick;
+ ///
+ /// Provides access to the underlying input action "UI/ScrollWheel".
+ ///
+ public InputAction @ScrollWheel => m_Wrapper.m_UI_ScrollWheel;
+ ///
+ /// Provides access to the underlying input action "UI/TrackedDevicePosition".
+ ///
+ public InputAction @TrackedDevicePosition => m_Wrapper.m_UI_TrackedDevicePosition;
+ ///
+ /// Provides access to the underlying input action "UI/TrackedDeviceOrientation".
+ ///
+ public InputAction @TrackedDeviceOrientation => m_Wrapper.m_UI_TrackedDeviceOrientation;
+ ///
+ /// Provides access to the underlying input action map instance.
+ ///
+ public InputActionMap Get() { return m_Wrapper.m_UI; }
+ ///
+ public void Enable() { Get().Enable(); }
+ ///
+ public void Disable() { Get().Disable(); }
+ ///
+ public bool enabled => Get().enabled;
+ ///
+ /// Implicitly converts an to an instance.
+ ///
+ public static implicit operator InputActionMap(UIActions set) { return set.Get(); }
+ ///
+ /// Adds , and callbacks provided via on all input actions contained in this map.
+ ///
+ /// Callback instance.
+ ///
+ /// If is null or have already been added this method does nothing.
+ ///
+ ///
+ public void AddCallbacks(IUIActions instance)
+ {
+ if (instance == null || m_Wrapper.m_UIActionsCallbackInterfaces.Contains(instance)) return;
+ m_Wrapper.m_UIActionsCallbackInterfaces.Add(instance);
+ @Navigate.started += instance.OnNavigate;
+ @Navigate.performed += instance.OnNavigate;
+ @Navigate.canceled += instance.OnNavigate;
+ @Submit.started += instance.OnSubmit;
+ @Submit.performed += instance.OnSubmit;
+ @Submit.canceled += instance.OnSubmit;
+ @Cancel.started += instance.OnCancel;
+ @Cancel.performed += instance.OnCancel;
+ @Cancel.canceled += instance.OnCancel;
+ @Point.started += instance.OnPoint;
+ @Point.performed += instance.OnPoint;
+ @Point.canceled += instance.OnPoint;
+ @Click.started += instance.OnClick;
+ @Click.performed += instance.OnClick;
+ @Click.canceled += instance.OnClick;
+ @RightClick.started += instance.OnRightClick;
+ @RightClick.performed += instance.OnRightClick;
+ @RightClick.canceled += instance.OnRightClick;
+ @MiddleClick.started += instance.OnMiddleClick;
+ @MiddleClick.performed += instance.OnMiddleClick;
+ @MiddleClick.canceled += instance.OnMiddleClick;
+ @ScrollWheel.started += instance.OnScrollWheel;
+ @ScrollWheel.performed += instance.OnScrollWheel;
+ @ScrollWheel.canceled += instance.OnScrollWheel;
+ @TrackedDevicePosition.started += instance.OnTrackedDevicePosition;
+ @TrackedDevicePosition.performed += instance.OnTrackedDevicePosition;
+ @TrackedDevicePosition.canceled += instance.OnTrackedDevicePosition;
+ @TrackedDeviceOrientation.started += instance.OnTrackedDeviceOrientation;
+ @TrackedDeviceOrientation.performed += instance.OnTrackedDeviceOrientation;
+ @TrackedDeviceOrientation.canceled += instance.OnTrackedDeviceOrientation;
+ }
+
+ ///
+ /// Removes , and callbacks provided via on all input actions contained in this map.
+ ///
+ ///
+ /// Calling this method when have not previously been registered has no side-effects.
+ ///
+ ///
+ private void UnregisterCallbacks(IUIActions instance)
+ {
+ @Navigate.started -= instance.OnNavigate;
+ @Navigate.performed -= instance.OnNavigate;
+ @Navigate.canceled -= instance.OnNavigate;
+ @Submit.started -= instance.OnSubmit;
+ @Submit.performed -= instance.OnSubmit;
+ @Submit.canceled -= instance.OnSubmit;
+ @Cancel.started -= instance.OnCancel;
+ @Cancel.performed -= instance.OnCancel;
+ @Cancel.canceled -= instance.OnCancel;
+ @Point.started -= instance.OnPoint;
+ @Point.performed -= instance.OnPoint;
+ @Point.canceled -= instance.OnPoint;
+ @Click.started -= instance.OnClick;
+ @Click.performed -= instance.OnClick;
+ @Click.canceled -= instance.OnClick;
+ @RightClick.started -= instance.OnRightClick;
+ @RightClick.performed -= instance.OnRightClick;
+ @RightClick.canceled -= instance.OnRightClick;
+ @MiddleClick.started -= instance.OnMiddleClick;
+ @MiddleClick.performed -= instance.OnMiddleClick;
+ @MiddleClick.canceled -= instance.OnMiddleClick;
+ @ScrollWheel.started -= instance.OnScrollWheel;
+ @ScrollWheel.performed -= instance.OnScrollWheel;
+ @ScrollWheel.canceled -= instance.OnScrollWheel;
+ @TrackedDevicePosition.started -= instance.OnTrackedDevicePosition;
+ @TrackedDevicePosition.performed -= instance.OnTrackedDevicePosition;
+ @TrackedDevicePosition.canceled -= instance.OnTrackedDevicePosition;
+ @TrackedDeviceOrientation.started -= instance.OnTrackedDeviceOrientation;
+ @TrackedDeviceOrientation.performed -= instance.OnTrackedDeviceOrientation;
+ @TrackedDeviceOrientation.canceled -= instance.OnTrackedDeviceOrientation;
+ }
+
+ ///
+ /// Unregisters and unregisters all input action callbacks via .
+ ///
+ ///
+ public void RemoveCallbacks(IUIActions instance)
+ {
+ if (m_Wrapper.m_UIActionsCallbackInterfaces.Remove(instance))
+ UnregisterCallbacks(instance);
+ }
+
+ ///
+ /// Replaces all existing callback instances and previously registered input action callbacks associated with them with callbacks provided via .
+ ///
+ ///
+ /// If is null, calling this method will only unregister all existing callbacks but not register any new callbacks.
+ ///
+ ///
+ ///
+ ///
+ public void SetCallbacks(IUIActions instance)
+ {
+ foreach (var item in m_Wrapper.m_UIActionsCallbackInterfaces)
+ UnregisterCallbacks(item);
+ m_Wrapper.m_UIActionsCallbackInterfaces.Clear();
+ AddCallbacks(instance);
+ }
+ }
+ ///
+ /// Provides a new instance referencing this action map.
+ ///
+ public UIActions @UI => new UIActions(this);
+
+ // Others
+ private readonly InputActionMap m_Others;
+ private List m_OthersActionsCallbackInterfaces = new List();
+ private readonly InputAction m_Others_Escape;
+ ///
+ /// Provides access to input actions defined in input action map "Others".
+ ///
+ public struct OthersActions
+ {
+ private @PlayerInputActions m_Wrapper;
+
+ ///
+ /// Construct a new instance of the input action map wrapper class.
+ ///
+ public OthersActions(@PlayerInputActions wrapper) { m_Wrapper = wrapper; }
+ ///
+ /// Provides access to the underlying input action "Others/Escape".
+ ///
+ public InputAction @Escape => m_Wrapper.m_Others_Escape;
+ ///
+ /// Provides access to the underlying input action map instance.
+ ///
+ public InputActionMap Get() { return m_Wrapper.m_Others; }
+ ///
+ public void Enable() { Get().Enable(); }
+ ///
+ public void Disable() { Get().Disable(); }
+ ///
+ public bool enabled => Get().enabled;
+ ///
+ /// Implicitly converts an to an instance.
+ ///
+ public static implicit operator InputActionMap(OthersActions set) { return set.Get(); }
+ ///
+ /// Adds , and callbacks provided via on all input actions contained in this map.
+ ///
+ /// Callback instance.
+ ///
+ /// If is null or have already been added this method does nothing.
+ ///
+ ///
+ public void AddCallbacks(IOthersActions instance)
+ {
+ if (instance == null || m_Wrapper.m_OthersActionsCallbackInterfaces.Contains(instance)) return;
+ m_Wrapper.m_OthersActionsCallbackInterfaces.Add(instance);
+ @Escape.started += instance.OnEscape;
+ @Escape.performed += instance.OnEscape;
+ @Escape.canceled += instance.OnEscape;
+ }
+
+ ///
+ /// Removes , and callbacks provided via on all input actions contained in this map.
+ ///
+ ///
+ /// Calling this method when have not previously been registered has no side-effects.
+ ///
+ ///
+ private void UnregisterCallbacks(IOthersActions instance)
+ {
+ @Escape.started -= instance.OnEscape;
+ @Escape.performed -= instance.OnEscape;
+ @Escape.canceled -= instance.OnEscape;
+ }
+
+ ///
+ /// Unregisters and unregisters all input action callbacks via .
+ ///
+ ///
+ public void RemoveCallbacks(IOthersActions instance)
+ {
+ if (m_Wrapper.m_OthersActionsCallbackInterfaces.Remove(instance))
+ UnregisterCallbacks(instance);
+ }
+
+ ///
+ /// Replaces all existing callback instances and previously registered input action callbacks associated with them with callbacks provided via .
+ ///
+ ///
+ /// If is null, calling this method will only unregister all existing callbacks but not register any new callbacks.
+ ///
+ ///
+ ///
+ ///
+ public void SetCallbacks(IOthersActions instance)
+ {
+ foreach (var item in m_Wrapper.m_OthersActionsCallbackInterfaces)
+ UnregisterCallbacks(item);
+ m_Wrapper.m_OthersActionsCallbackInterfaces.Clear();
+ AddCallbacks(instance);
+ }
+ }
+ ///
+ /// Provides a new instance referencing this action map.
+ ///
+ public OthersActions @Others => new OthersActions(this);
+ private int m_KeyboardMouseSchemeIndex = -1;
+ ///
+ /// Provides access to the input control scheme.
+ ///
+ ///
+ public InputControlScheme KeyboardMouseScheme
+ {
+ get
+ {
+ if (m_KeyboardMouseSchemeIndex == -1) m_KeyboardMouseSchemeIndex = asset.FindControlSchemeIndex("Keyboard&Mouse");
+ return asset.controlSchemes[m_KeyboardMouseSchemeIndex];
+ }
+ }
+ private int m_GamepadSchemeIndex = -1;
+ ///
+ /// Provides access to the input control scheme.
+ ///
+ ///
+ public InputControlScheme GamepadScheme
+ {
+ get
+ {
+ if (m_GamepadSchemeIndex == -1) m_GamepadSchemeIndex = asset.FindControlSchemeIndex("Gamepad");
+ return asset.controlSchemes[m_GamepadSchemeIndex];
+ }
+ }
+ private int m_TouchSchemeIndex = -1;
+ ///
+ /// Provides access to the input control scheme.
+ ///
+ ///
+ public InputControlScheme TouchScheme
+ {
+ get
+ {
+ if (m_TouchSchemeIndex == -1) m_TouchSchemeIndex = asset.FindControlSchemeIndex("Touch");
+ return asset.controlSchemes[m_TouchSchemeIndex];
+ }
+ }
+ private int m_JoystickSchemeIndex = -1;
+ ///
+ /// Provides access to the input control scheme.
+ ///
+ ///
+ public InputControlScheme JoystickScheme
+ {
+ get
+ {
+ if (m_JoystickSchemeIndex == -1) m_JoystickSchemeIndex = asset.FindControlSchemeIndex("Joystick");
+ return asset.controlSchemes[m_JoystickSchemeIndex];
+ }
+ }
+ private int m_XRSchemeIndex = -1;
+ ///
+ /// Provides access to the input control scheme.
+ ///
+ ///
+ public InputControlScheme XRScheme
+ {
+ get
+ {
+ if (m_XRSchemeIndex == -1) m_XRSchemeIndex = asset.FindControlSchemeIndex("XR");
+ return asset.controlSchemes[m_XRSchemeIndex];
+ }
+ }
+ ///
+ /// Interface to implement callback methods for all input action callbacks associated with input actions defined by "Player" which allows adding and removing callbacks.
+ ///
+ ///
+ ///
+ public interface IPlayerActions
+ {
+ ///
+ /// Method invoked when associated input action "Move" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnMove(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Dodge" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnDodge(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Look" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnLook(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Attack" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnAttack(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Interact" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnInteract(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Crouch" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnCrouch(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Jump" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnJump(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Previous" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnPrevious(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Next" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnNext(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Sprint" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnSprint(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "AbilitySlot01" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnAbilitySlot01(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "AbilitySlot02" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnAbilitySlot02(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "AbilitySlot03" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnAbilitySlot03(InputAction.CallbackContext context);
+ }
+ ///
+ /// Interface to implement callback methods for all input action callbacks associated with input actions defined by "UI" which allows adding and removing callbacks.
+ ///
+ ///
+ ///
+ public interface IUIActions
+ {
+ ///
+ /// Method invoked when associated input action "Navigate" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnNavigate(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Submit" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnSubmit(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Cancel" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnCancel(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Point" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnPoint(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Click" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnClick(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "RightClick" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnRightClick(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "MiddleClick" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnMiddleClick(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "ScrollWheel" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnScrollWheel(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "TrackedDevicePosition" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnTrackedDevicePosition(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "TrackedDeviceOrientation" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnTrackedDeviceOrientation(InputAction.CallbackContext context);
+ }
+ ///
+ /// Interface to implement callback methods for all input action callbacks associated with input actions defined by "Others" which allows adding and removing callbacks.
+ ///
+ ///
+ ///
+ public interface IOthersActions
+ {
+ ///
+ /// Method invoked when associated input action "Escape" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnEscape(InputAction.CallbackContext context);
+ }
+}
diff --git a/Assets/--2025/Inputs/PlayerInputActions.cs.meta b/Assets/--2025/Inputs/PlayerInputActions.cs.meta
new file mode 100644
index 00000000..ec2bc1a5
--- /dev/null
+++ b/Assets/--2025/Inputs/PlayerInputActions.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: e366469444401d94bb910d94c9cf514e
\ No newline at end of file
diff --git a/Assets/--2025/Inputs/PlayerActions.inputactions b/Assets/--2025/Inputs/PlayerInputActions.inputactions
similarity index 99%
rename from Assets/--2025/Inputs/PlayerActions.inputactions
rename to Assets/--2025/Inputs/PlayerInputActions.inputactions
index 6173e77e..f0eb4094 100644
--- a/Assets/--2025/Inputs/PlayerActions.inputactions
+++ b/Assets/--2025/Inputs/PlayerInputActions.inputactions
@@ -1,6 +1,6 @@
{
"version": 1,
- "name": "PlayerActions",
+ "name": "PlayerInputActions",
"maps": [
{
"name": "Player",
diff --git a/Assets/--2025/Inputs/PlayerActions.inputactions.meta b/Assets/--2025/Inputs/PlayerInputActions.inputactions.meta
similarity index 93%
rename from Assets/--2025/Inputs/PlayerActions.inputactions.meta
rename to Assets/--2025/Inputs/PlayerInputActions.inputactions.meta
index a648bc98..bd204bb6 100644
--- a/Assets/--2025/Inputs/PlayerActions.inputactions.meta
+++ b/Assets/--2025/Inputs/PlayerInputActions.inputactions.meta
@@ -8,7 +8,7 @@ ScriptedImporter:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3}
- generateWrapperCode: 0
+ generateWrapperCode: 1
wrapperCodePath:
wrapperClassName:
wrapperCodeNamespace:
diff --git a/Assets/Resources/PlayerPrefab.prefab b/Assets/Resources/PlayerPrefab.prefab
index 8ade2478..3bbcf2ea 100644
--- a/Assets/Resources/PlayerPrefab.prefab
+++ b/Assets/Resources/PlayerPrefab.prefab
@@ -108,15 +108,17 @@ MonoBehaviour:
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
- m_enableWordWrapping: 1
+ m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
+ m_ActiveFontFeatures: 00000000
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
+ m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
@@ -242,15 +244,17 @@ MonoBehaviour:
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
- m_enableWordWrapping: 1
+ m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
+ m_ActiveFontFeatures: 00000000
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
+ m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
@@ -353,6 +357,7 @@ GameObject:
- component: {fileID: 6949988666450315186}
- component: {fileID: 7471597901585849079}
- component: {fileID: 5443964135166462109}
+ - component: {fileID: 7653406841585074505}
m_Layer: 0
m_Name: PlayerPrefab
m_TagString: Untagged
@@ -470,10 +475,10 @@ Rigidbody:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 480331571121010796}
- serializedVersion: 4
+ serializedVersion: 5
m_Mass: 1
- m_Drag: 0
- m_AngularDrag: 0.05
+ m_LinearDamping: 0
+ m_AngularDamping: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
@@ -1104,6 +1109,36 @@ MonoBehaviour:
interactionPrompt: {fileID: 1848602766038196315}
interactionIcon: {fileID: 6972307944780814254}
interactionText: {fileID: 5287681643690581492}
+--- !u!114 &7653406841585074505
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 480331571121010796}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Unity.InputSystem::UnityEngine.InputSystem.PlayerInput
+ m_Actions: {fileID: -944628639613478452, guid: dd7c3a48e4544a541be43334e4b28863, type: 3}
+ m_NotificationBehavior: 0
+ m_UIInputModule: {fileID: 0}
+ m_DeviceLostEvent:
+ m_PersistentCalls:
+ m_Calls: []
+ m_DeviceRegainedEvent:
+ m_PersistentCalls:
+ m_Calls: []
+ m_ControlsChangedEvent:
+ m_PersistentCalls:
+ m_Calls: []
+ m_ActionEvents: []
+ m_NeverAutoSwitchControlSchemes: 0
+ m_DefaultControlScheme:
+ m_DefaultActionMap: Player
+ m_SplitScreenIndex: -1
+ m_Camera: {fileID: 0}
--- !u!1 &647488901503982106
GameObject:
m_ObjectHideFlags: 0
@@ -1542,6 +1577,7 @@ AudioSource:
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
+ m_Resource: {fileID: 0}
m_PlayOnAwake: 0
m_Volume: 1
m_Pitch: 1
@@ -1992,10 +2028,10 @@ Rigidbody:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3639665566746515359}
- serializedVersion: 4
+ serializedVersion: 5
m_Mass: 1
- m_Drag: 0
- m_AngularDrag: 0.05
+ m_LinearDamping: 0
+ m_AngularDamping: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
@@ -2874,6 +2910,7 @@ AudioSource:
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
+ m_Resource: {fileID: 0}
m_PlayOnAwake: 0
m_Volume: 1
m_Pitch: 1
@@ -3113,15 +3150,17 @@ MonoBehaviour:
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
- m_enableWordWrapping: 1
+ m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
+ m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
+ m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
@@ -3218,6 +3257,7 @@ AudioSource:
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
+ m_Resource: {fileID: 0}
m_PlayOnAwake: 0
m_Volume: 1
m_Pitch: 1
@@ -5279,6 +5319,10 @@ PrefabInstance:
propertyPath: m_hasFontAssetChanged
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 1063629724385205317, guid: 2e56f69e0872f744daa6c9080ecf3040, type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
- target: {fileID: 1674092480321374837, guid: 2e56f69e0872f744daa6c9080ecf3040, type: 3}
propertyPath: m_SizeDelta.y
value: 50
diff --git a/Assets/Scripts/Player/PlayerMovement.cs b/Assets/Scripts/Player/PlayerMovement.cs
index 59f6dc83..e9e11c3b 100644
--- a/Assets/Scripts/Player/PlayerMovement.cs
+++ b/Assets/Scripts/Player/PlayerMovement.cs
@@ -1,5 +1,6 @@
using UnityEngine;
using UnityEngine.AI;
+using UnityEngine.InputSystem;
public enum MovementType
{
@@ -17,12 +18,19 @@ public class PlayerMovement : MonoBehaviour
[SerializeField] private MovementType movementType = MovementType.DirectionalInput;
[SerializeField] private BoolSharedField directionalInputMode;
public BoolSharedField DirectionalInputMode => directionalInputMode;
+
[Header("Controller Settings")]
[SerializeField] private float gamepadDeadzone = 0.2f;
[Header("Debug Visualization")]
[SerializeField] private bool showDebugVisuals = false;
+ // Input System variables
+ private PlayerInput playerInput;
+ private Vector2 moveInput;
+ private Vector2 aimInput;
+ private bool isMouseAiming;
+
private Transform target;
private NavMeshAgent agent;
private Vector3 direction = Vector3.zero;
@@ -36,7 +44,7 @@ public class PlayerMovement : MonoBehaviour
private ProjectileSpawnLocationController aimController;
private Vector3 currentAimPoint;
- public Vector2 currentMovementDirection= new Vector2();
+ public Vector2 currentMovementDirection = new Vector2();
public Vector2 currentAimDirection = new Vector2();
public Vector2 lastAimDirection2 = new Vector2();
public Vector2 relativeMovementDirection = new Vector2();
@@ -66,26 +74,56 @@ public class PlayerMovement : MonoBehaviour
startingAgentSpeed = agent.speed;
startingAgentAngularSpeed = agent.angularSpeed;
startingAgentAcceleration = agent.acceleration;
+
+ // Initialize Input System
+ playerInput = GetComponent();
+ if (playerInput == null)
+ {
+ Debug.LogWarning("PlayerInput component not found. Add PlayerInput component to use Input System.");
+ }
}
void Start()
{
-
SetupAgentForDirectionalMovement();
}
+ // Input callbacks - these will be called by Unity's SendMessage system
+ public void OnMove(InputValue value)
+ {
+ moveInput = value.Get();
+ currentMovementDirection = moveInput;
+ }
+
+ public void OnStick(InputValue value)
+ {
+ aimInput = value.Get();
+ currentAimDirection = aimInput;
+
+ // Detect gamepad usage
+ if (aimInput.magnitude > gamepadDeadzone)
+ {
+ isUsingGamepad = true;
+ hasMouseAimPoint = false;
+ }
+ }
+
+ public void OnLook(InputValue value)
+ {
+ // This gets called when mouse moves, indicating mouse usage
+ isUsingGamepad = false;
+ }
+
private void Update()
{
SetMovementType(directionalInputMode.Value ? MovementType.DirectionalInput : MovementType.PointAndClick);
if (movementType == MovementType.DirectionalInput)
{
- DetectInputMethod();
-
- // Handle movement first
+ // Handle movement
HandleDirectionalMovement();
- // Then handle aiming, with mouse taking priority
+ // Handle aiming based on input method
if (!isUsingGamepad)
{
HandleMouseAiming();
@@ -93,7 +131,6 @@ public class PlayerMovement : MonoBehaviour
else
{
HandleGamepadAiming();
- hasMouseAimPoint = false; // Reset mouse aim when using gamepad
}
HandleRelativeForAnimation();
@@ -115,38 +152,10 @@ public class PlayerMovement : MonoBehaviour
}
}
- private void DetectInputMethod()
- {
- Vector2 gamepadMove = new Vector2(
- Input.GetAxisRaw(GameConstants.Input.HorizontalAxis),
- Input.GetAxisRaw(GameConstants.Input.VerticalAxis));
- Vector2 gamepadLook = new Vector2(
- Input.GetAxisRaw(GameConstants.Input.AimHorizontalAxis),
- Input.GetAxisRaw(GameConstants.Input.AimVerticalAxis));
-
- // Check for mouse movement
- if (Input.GetAxis("Mouse X") != 0 || Input.GetAxis("Mouse Y") != 0)
- {
- isUsingGamepad = false;
- return;
- }
-
- // Check for gamepad input
- if (gamepadMove.magnitude > gamepadDeadzone || gamepadLook.magnitude > gamepadDeadzone)
- {
- isUsingGamepad = true;
- hasMouseAimPoint = false; // Reset mouse aim when using gamepad
- }
- }
-
private void HandleDirectionalMovement()
{
if (agent.isStopped) return;
- currentMovementDirection = new Vector2(
- Input.GetAxisRaw(GameConstants.Input.HorizontalAxis),
- Input.GetAxisRaw(GameConstants.Input.VerticalAxis));
-
Vector3 cameraForward = mainCamera.transform.forward;
Vector3 cameraRight = mainCamera.transform.right;
cameraForward.y = 0f;
@@ -179,25 +188,8 @@ public class PlayerMovement : MonoBehaviour
}
}
- private void HandleAimingRotation()
- {
- if (isUsingGamepad)
- {
- HandleGamepadAiming();
- }
- else
- {
- HandleMouseAiming();
- }
- }
-
private void HandleGamepadAiming()
{
- currentAimDirection = new Vector2(
- Input.GetAxisRaw(GameConstants.Input.AimHorizontalAxis),
- Input.GetAxisRaw(GameConstants.Input.AimVerticalAxis)
- );
-
if (currentAimDirection.magnitude > gamepadDeadzone)
{
Vector3 cameraForward = mainCamera.transform.forward;
@@ -217,8 +209,6 @@ public class PlayerMovement : MonoBehaviour
gamepadRotationSpeed * Time.deltaTime
);
}
- // Remove the else { isAiming = false; } - we want to maintain the last aim direction
- // Instead, maintain the last valid aim direction
else if (lastAimDirection != Vector3.zero)
{
Quaternion targetRotation = Quaternion.LookRotation(lastAimDirection);
@@ -236,13 +226,15 @@ public class PlayerMovement : MonoBehaviour
relativeMovementDirection.y = Vector2.Dot(lastAimDirection2, currentMovementDirection);
// Calculate strafe movement relative to aim direction
- // Cross product for left/right movement
relativeMovementDirection.x = lastAimDirection2.x * currentMovementDirection.y -
lastAimDirection2.y * currentMovementDirection.x;
}
+
private void HandleMouseAiming()
{
- Ray ray = mainCamera.ScreenPointToRay(Input.mousePosition);
+ // Get the current mouse position directly from the Input System
+ Vector3 screenMousePosition = Mouse.current.position.ReadValue();
+ Ray ray = mainCamera.ScreenPointToRay(screenMousePosition);
if (groundPlane.Raycast(ray, out float distance))
{
@@ -257,7 +249,6 @@ public class PlayerMovement : MonoBehaviour
lastAimDirection2.x = aimDirection.x;
lastAimDirection2.y = aimDirection.z;
- // Always update rotation when using mouse
transform.rotation = Quaternion.LookRotation(aimDirection);
}
}
@@ -330,6 +321,7 @@ public class PlayerMovement : MonoBehaviour
if (target != null)
FaceTarget();
}
+
public void FacePoint(Vector3 point)
{
direction = (point - transform.position).normalized;
@@ -337,6 +329,7 @@ public class PlayerMovement : MonoBehaviour
lookRotation = Quaternion.LookRotation(direction);
transform.rotation = Quaternion.Slerp(transform.rotation, lookRotation, Time.deltaTime * lookSpeed);
}
+
public void FaceTarget()
{
if (target == null) return;