diff --git a/.idea/.idea.UnicornElimination/.idea/.gitignore b/.idea/.idea.UnicornElimination/.idea/.gitignore
new file mode 100644
index 0000000..7efbb05
--- /dev/null
+++ b/.idea/.idea.UnicornElimination/.idea/.gitignore
@@ -0,0 +1,15 @@
+# 디폴트 무시된 파일
+/shelf/
+/workspace.xml
+# Rider에서 무시된 파일
+/contentModel.xml
+/.idea.UnicornElimination.iml
+/modules.xml
+/projectSettingsUpdater.xml
+# 에디터 기반 HTTP 클라이언트 요청
+/httpRequests/
+# 쿼리 파일을 포함한 무시된 디폴트 폴더
+/queries/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/.idea.UnicornElimination/.idea/encodings.xml b/.idea/.idea.UnicornElimination/.idea/encodings.xml
new file mode 100644
index 0000000..df87cf9
--- /dev/null
+++ b/.idea/.idea.UnicornElimination/.idea/encodings.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.UnicornElimination/.idea/indexLayout.xml b/.idea/.idea.UnicornElimination/.idea/indexLayout.xml
new file mode 100644
index 0000000..7b08163
--- /dev/null
+++ b/.idea/.idea.UnicornElimination/.idea/indexLayout.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.UnicornElimination/.idea/vcs.xml b/.idea/.idea.UnicornElimination/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/.idea.UnicornElimination/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/InputSystem_Actions.inputactions b/Assets/InputSystem_Actions.inputactions
index 1a12cb9..2b108ed 100644
--- a/Assets/InputSystem_Actions.inputactions
+++ b/Assets/InputSystem_Actions.inputactions
@@ -1,87 +1,43 @@
{
+ "version": 1,
"name": "InputSystem_Actions",
"maps": [
{
"name": "Player",
- "id": "df70fa95-8a34-4494-b137-73ab6b9c7d37",
+ "id": "23e63a77-aaa3-4fcd-bb66-31913284fe35",
"actions": [
{
- "name": "Move",
+ "name": "Horizontal",
"type": "Value",
- "id": "351f2ccd-1f9f-44bf-9bec-d62ac5c5f408",
- "expectedControlType": "Vector2",
+ "id": "100a554f-b568-427c-b2a9-d6cafc7d9d0a",
+ "expectedControlType": "Axis",
"processors": "",
"interactions": "",
"initialStateCheck": true
},
- {
- "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": "Button",
- "processors": "",
- "interactions": "",
- "initialStateCheck": false
- },
- {
- "name": "Interact",
- "type": "Button",
- "id": "852140f2-7766-474d-8707-702459ba45f3",
- "expectedControlType": "Button",
- "processors": "",
- "interactions": "Hold",
- "initialStateCheck": false
- },
- {
- "name": "Crouch",
- "type": "Button",
- "id": "27c5f898-bc57-4ee1-8800-db469aca5fe3",
- "expectedControlType": "Button",
- "processors": "",
- "interactions": "",
- "initialStateCheck": false
- },
{
"name": "Jump",
"type": "Button",
- "id": "f1ba0d36-48eb-4cd5-b651-1c94a6531f70",
- "expectedControlType": "Button",
+ "id": "f45129b6-6739-442e-acd0-d6070dab4308",
+ "expectedControlType": "",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
- "name": "Previous",
+ "name": "Down",
"type": "Button",
- "id": "2776c80d-3c14-4091-8c56-d04ced07a2b0",
- "expectedControlType": "Button",
+ "id": "2c15cba3-2056-4ac1-8c65-6f2ce18c4b28",
+ "expectedControlType": "",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
- "name": "Next",
+ "name": "Attack",
"type": "Button",
- "id": "b7230bb6-fc9b-4f52-8b25-f5e19cb2c2ba",
- "expectedControlType": "Button",
- "processors": "",
- "interactions": "",
- "initialStateCheck": false
- },
- {
- "name": "Sprint",
- "type": "Button",
- "id": "641cd816-40e6-41b4-8c3d-04687c349290",
- "expectedControlType": "Button",
+ "id": "c2bb66ee-38f8-4779-81cc-a62aff07e657",
+ "expectedControlType": "",
"processors": "",
"interactions": "",
"initialStateCheck": false
@@ -89,903 +45,68 @@
],
"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",
+ "name": "1D Axis",
+ "id": "2c969357-44d1-4014-940f-bdf59c08cec1",
+ "path": "1DAxis",
"interactions": "",
"processors": "",
"groups": "",
- "action": "Move",
+ "action": "Horizontal",
"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",
+ "name": "negative",
+ "id": "eaefe266-b882-42e9-ba04-59f693fd3e8b",
"path": "/a",
"interactions": "",
"processors": "",
- "groups": ";Keyboard&Mouse",
- "action": "Move",
+ "groups": "",
+ "action": "Horizontal",
"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",
+ "name": "positive",
+ "id": "99947c72-29a6-48be-9939-5b23e27824be",
"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",
+ "groups": "",
+ "action": "Horizontal",
"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": "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",
+ "id": "b8c510f7-204c-4113-b3e3-b28c81951c77",
"path": "/space",
"interactions": "",
"processors": "",
- "groups": "Keyboard&Mouse",
+ "groups": "",
"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": "/e",
- "interactions": "",
- "processors": "",
- "groups": "Keyboard&Mouse",
- "action": "Interact",
- "isComposite": false,
- "isPartOfComposite": false
- },
- {
- "name": "",
- "id": "b3f66d0b-7751-423f-908b-a11c5bd95930",
- "path": "/buttonNorth",
- "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": "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": "Button",
- "processors": "",
- "interactions": "",
- "initialStateCheck": false
- },
- {
- "name": "Cancel",
- "type": "Button",
- "id": "15cef263-9014-4fd5-94d9-4e4a6234a6ef",
- "expectedControlType": "Button",
- "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",
+ "id": "c0ba4b5e-fbe5-4b10-9de8-52dac5c4b424",
"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",
+ "groups": "",
+ "action": "Down",
"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",
+ "id": "b4a9a8a1-bf89-4482-bfec-08f95531cddb",
"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",
+ "groups": "",
+ "action": "Attack",
"isComposite": false,
"isPartOfComposite": false
}
diff --git a/Assets/InputSystem_Actions.inputactions.meta b/Assets/InputSystem_Actions.inputactions.meta
index e786d3e..a0e6fa7 100644
--- a/Assets/InputSystem_Actions.inputactions.meta
+++ b/Assets/InputSystem_Actions.inputactions.meta
@@ -8,7 +8,7 @@ ScriptedImporter:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3}
- generateWrapperCode: 0
- wrapperCodePath:
- wrapperClassName:
+ generateWrapperCode: 1
+ wrapperCodePath: Assets/Scripts/UnicornInputSystem.cs
+ wrapperClassName: UnicornInputSystem
wrapperCodeNamespace:
diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity
index dc2eb9a..32dd558 100644
--- a/Assets/Scenes/SampleScene.unity
+++ b/Assets/Scenes/SampleScene.unity
@@ -131,6 +131,7 @@ GameObject:
- component: {fileID: 68822292}
- component: {fileID: 68822294}
- component: {fileID: 68822295}
+ - component: {fileID: 68822296}
m_Layer: 0
m_Name: Player
m_TagString: Untagged
@@ -273,7 +274,7 @@ Rigidbody2D:
m_Mass: 1
m_LinearDamping: 0
m_AngularDamping: 0.05
- m_GravityScale: 1
+ m_GravityScale: 10
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
@@ -285,6 +286,20 @@ Rigidbody2D:
m_SleepingMode: 1
m_CollisionDetection: 1
m_Constraints: 0
+--- !u!114 &68822296
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 68822291}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: db8b3864bdcf65d40b42ee58c17e87aa, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::PlayerMovement
+ moveSpeed: 8
+ jumpForce: 20
--- !u!1 &519420028
GameObject:
m_ObjectHideFlags: 0
@@ -366,7 +381,7 @@ Camera:
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
- m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_BackGroundColor: {r: 0.21960786, g: 0.21960786, b: 0.21960786, a: 1}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
@@ -644,6 +659,50 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1472544503
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1472544505}
+ - component: {fileID: 1472544504}
+ m_Layer: 0
+ m_Name: UnicornInput
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1472544504
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1472544503}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: caadd15da6c47e04a83c5441344e74c0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::UnicornInput
+--- !u!4 &1472544505
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1472544503}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -0.67683, y: 0.09318, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
@@ -652,3 +711,4 @@ SceneRoots:
- {fileID: 619394802}
- {fileID: 68822293}
- {fileID: 603434665}
+ - {fileID: 1472544505}
diff --git a/Assets/Scripts/PlayerMovement.cs b/Assets/Scripts/PlayerMovement.cs
index 57781ac..87dc511 100644
--- a/Assets/Scripts/PlayerMovement.cs
+++ b/Assets/Scripts/PlayerMovement.cs
@@ -1,16 +1,38 @@
+using System;
using UnityEngine;
+using UnityEngine.InputSystem;
public class PlayerMovement : MonoBehaviour
{
- // Start is called once before the first execution of Update after the MonoBehaviour is created
+ public float moveSpeed;
+ public float jumpForce;
+
+ private Rigidbody2D _rb;
+ private UnicornInputSystem _unicorn;
+
+ private void OnDisable()
+ {
+ _unicorn.Player.Jump.performed -= Jump;
+ }
void Start()
{
-
+ _rb = GetComponent();
+ _unicorn = UnicornInput.Unicorn;
+ _unicorn.Player.Jump.performed += Jump;
}
- // Update is called once per frame
- void Update()
+
+
+ private void Jump(InputAction.CallbackContext obj)
{
-
+ _rb.linearVelocityY = jumpForce;
+ }
+
+ private void FixedUpdate()
+ {
+ var readValue = _unicorn.Player.Horizontal.ReadValue();
+ _rb.linearVelocityX = readValue * moveSpeed;
+ if (_unicorn.Player.Down.IsPressed() && _rb.linearVelocityY < jumpForce/1.5)
+ _rb.linearVelocityY = Math.Min(0, _rb.linearVelocityY);
}
}
diff --git a/Assets/Scripts/UnicornInput.cs b/Assets/Scripts/UnicornInput.cs
new file mode 100644
index 0000000..8eec7ec
--- /dev/null
+++ b/Assets/Scripts/UnicornInput.cs
@@ -0,0 +1,30 @@
+using UnityEngine;
+
+public class UnicornInput : MonoBehaviour
+{
+ public static UnicornInputSystem Unicorn
+ {
+ get
+ {
+ _unicorn ??= new UnicornInputSystem();
+ return _unicorn;
+ }
+ }
+
+ private static UnicornInputSystem _unicorn;
+
+ private void Awake()
+ {
+ _unicorn ??= new UnicornInputSystem();
+ }
+
+ private void OnEnable()
+ {
+ Unicorn.Enable();
+ }
+
+ private void OnDisable()
+ {
+ Unicorn.Disable();
+ }
+}
\ No newline at end of file
diff --git a/Assets/Scripts/UnicornInput.cs.meta b/Assets/Scripts/UnicornInput.cs.meta
new file mode 100644
index 0000000..2bceebe
--- /dev/null
+++ b/Assets/Scripts/UnicornInput.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: caadd15da6c47e04a83c5441344e74c0
\ No newline at end of file
diff --git a/Assets/Scripts/UnicornInputSystem.cs b/Assets/Scripts/UnicornInputSystem.cs
new file mode 100644
index 0000000..7e89191
--- /dev/null
+++ b/Assets/Scripts/UnicornInputSystem.cs
@@ -0,0 +1,577 @@
+//------------------------------------------------------------------------------
+//
+// This code was auto-generated by com.unity.inputsystem:InputActionCodeGenerator
+// version 1.19.0
+// from Assets/InputSystem_Actions.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/InputSystem_Actions.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 @UnicornInputSystem: IInputActionCollection2, IDisposable
+{
+ ///
+ /// Provides access to the underlying asset instance.
+ ///
+ public InputActionAsset asset { get; }
+
+ ///
+ /// Constructs a new instance.
+ ///
+ public @UnicornInputSystem()
+ {
+ asset = InputActionAsset.FromJson(@"{
+ ""version"": 1,
+ ""name"": ""InputSystem_Actions"",
+ ""maps"": [
+ {
+ ""name"": ""Player"",
+ ""id"": ""23e63a77-aaa3-4fcd-bb66-31913284fe35"",
+ ""actions"": [
+ {
+ ""name"": ""Horizontal"",
+ ""type"": ""Value"",
+ ""id"": ""100a554f-b568-427c-b2a9-d6cafc7d9d0a"",
+ ""expectedControlType"": ""Axis"",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": true
+ },
+ {
+ ""name"": ""Jump"",
+ ""type"": ""Button"",
+ ""id"": ""f45129b6-6739-442e-acd0-d6070dab4308"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""Down"",
+ ""type"": ""Button"",
+ ""id"": ""2c15cba3-2056-4ac1-8c65-6f2ce18c4b28"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ },
+ {
+ ""name"": ""Attack"",
+ ""type"": ""Button"",
+ ""id"": ""c2bb66ee-38f8-4779-81cc-a62aff07e657"",
+ ""expectedControlType"": """",
+ ""processors"": """",
+ ""interactions"": """",
+ ""initialStateCheck"": false
+ }
+ ],
+ ""bindings"": [
+ {
+ ""name"": ""1D Axis"",
+ ""id"": ""2c969357-44d1-4014-940f-bdf59c08cec1"",
+ ""path"": ""1DAxis"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": """",
+ ""action"": ""Horizontal"",
+ ""isComposite"": true,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": ""negative"",
+ ""id"": ""eaefe266-b882-42e9-ba04-59f693fd3e8b"",
+ ""path"": ""/a"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": """",
+ ""action"": ""Horizontal"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": ""positive"",
+ ""id"": ""99947c72-29a6-48be-9939-5b23e27824be"",
+ ""path"": ""/d"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": """",
+ ""action"": ""Horizontal"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": true
+ },
+ {
+ ""name"": """",
+ ""id"": ""b8c510f7-204c-4113-b3e3-b28c81951c77"",
+ ""path"": ""/space"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": """",
+ ""action"": ""Jump"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""c0ba4b5e-fbe5-4b10-9de8-52dac5c4b424"",
+ ""path"": ""/s"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": """",
+ ""action"": ""Down"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""b4a9a8a1-bf89-4482-bfec-08f95531cddb"",
+ ""path"": ""/leftButton"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": """",
+ ""action"": ""Attack"",
+ ""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_Horizontal = m_Player.FindAction("Horizontal", throwIfNotFound: true);
+ m_Player_Jump = m_Player.FindAction("Jump", throwIfNotFound: true);
+ m_Player_Down = m_Player.FindAction("Down", throwIfNotFound: true);
+ m_Player_Attack = m_Player.FindAction("Attack", throwIfNotFound: true);
+ }
+
+ ~@UnicornInputSystem()
+ {
+ UnityEngine.Debug.Assert(!m_Player.enabled, "This will cause a leak and performance issues, UnicornInputSystem.Player.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_Horizontal;
+ private readonly InputAction m_Player_Jump;
+ private readonly InputAction m_Player_Down;
+ private readonly InputAction m_Player_Attack;
+ ///
+ /// Provides access to input actions defined in input action map "Player".
+ ///
+ public struct PlayerActions
+ {
+ private @UnicornInputSystem m_Wrapper;
+
+ ///
+ /// Construct a new instance of the input action map wrapper class.
+ ///
+ public PlayerActions(@UnicornInputSystem wrapper) { m_Wrapper = wrapper; }
+ ///
+ /// Provides access to the underlying input action "Player/Horizontal".
+ ///
+ public InputAction @Horizontal => m_Wrapper.m_Player_Horizontal;
+ ///
+ /// 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/Down".
+ ///
+ public InputAction @Down => m_Wrapper.m_Player_Down;
+ ///
+ /// Provides access to the underlying input action "Player/Attack".
+ ///
+ public InputAction @Attack => m_Wrapper.m_Player_Attack;
+ ///
+ /// 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);
+ @Horizontal.started += instance.OnHorizontal;
+ @Horizontal.performed += instance.OnHorizontal;
+ @Horizontal.canceled += instance.OnHorizontal;
+ @Jump.started += instance.OnJump;
+ @Jump.performed += instance.OnJump;
+ @Jump.canceled += instance.OnJump;
+ @Down.started += instance.OnDown;
+ @Down.performed += instance.OnDown;
+ @Down.canceled += instance.OnDown;
+ @Attack.started += instance.OnAttack;
+ @Attack.performed += instance.OnAttack;
+ @Attack.canceled += instance.OnAttack;
+ }
+
+ ///
+ /// 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)
+ {
+ @Horizontal.started -= instance.OnHorizontal;
+ @Horizontal.performed -= instance.OnHorizontal;
+ @Horizontal.canceled -= instance.OnHorizontal;
+ @Jump.started -= instance.OnJump;
+ @Jump.performed -= instance.OnJump;
+ @Jump.canceled -= instance.OnJump;
+ @Down.started -= instance.OnDown;
+ @Down.performed -= instance.OnDown;
+ @Down.canceled -= instance.OnDown;
+ @Attack.started -= instance.OnAttack;
+ @Attack.performed -= instance.OnAttack;
+ @Attack.canceled -= instance.OnAttack;
+ }
+
+ ///
+ /// 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);
+ 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 "Horizontal" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnHorizontal(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Jump" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnJump(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Down" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnDown(InputAction.CallbackContext context);
+ ///
+ /// Method invoked when associated input action "Attack" is either , or .
+ ///
+ ///
+ ///
+ ///
+ void OnAttack(InputAction.CallbackContext context);
+ }
+}
diff --git a/Assets/Scripts/UnicornInputSystem.cs.meta b/Assets/Scripts/UnicornInputSystem.cs.meta
new file mode 100644
index 0000000..d3722b1
--- /dev/null
+++ b/Assets/Scripts/UnicornInputSystem.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 5fb3f9c4dc3857b49b9fd9d12bc1b1f3
\ No newline at end of file