Tweaked movement values and added spectator "mode"

I tweaked a bit movement values and changed some variable names, I also added spectator "mode" (mode changing not implemented yet)
This commit is contained in:
Mikolaj 2022-05-04 02:22:06 +02:00
parent d9f869fbd4
commit a299230ab6
30 changed files with 4734 additions and 2860 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 4bb4b35826439f347a2c46e86f4734e0
guid: 0c51ca6cd6963b14eaa25c9a60dc3c30
PrefabImporter:
externalObjects: {}
userData:

File diff suppressed because it is too large Load diff

View file

@ -1,19 +1,230 @@
{
"name": "Player",
"name": "PlayerInputMap",
"maps": [
{
"name": "Controlls",
"id": "4bbdbb06-7af3-4dcc-b82c-da998073329f",
"name": "GlobalControls",
"id": "80a94b07-c872-4005-ab13-f6846539b962",
"actions": [
{
"name": "Walk",
"name": "Move",
"type": "PassThrough",
"id": "ae5b37b6-edb0-46fa-b484-1047b375607b",
"id": "e306a0c6-05e1-41f8-8497-ee988dfacefb",
"expectedControlType": "Vector2",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "LookX",
"type": "PassThrough",
"id": "9e41a01a-35e8-4cfc-84cc-79c5a7b7921f",
"expectedControlType": "Axis",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "LookY",
"type": "PassThrough",
"id": "f46c648c-2667-4e0b-aab6-e407577cc890",
"expectedControlType": "Axis",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "Look",
"type": "Value",
"id": "a9fa0561-8e05-48bb-a5b7-391ddfbc1710",
"expectedControlType": "Vector2",
"processors": "",
"interactions": "",
"initialStateCheck": true
}
],
"bindings": [
{
"name": "",
"id": "9b11e168-a64e-4f38-87b5-29ad02d7cde4",
"path": "<Mouse>/delta/x",
"interactions": "",
"processors": "",
"groups": "KeyboardAndMouse",
"action": "LookX",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "85545a0e-6f34-45e4-b648-4616c8a0d40b",
"path": "<Gamepad>/rightStick/x",
"interactions": "",
"processors": "",
"groups": "Gamepad",
"action": "LookX",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "3b61f03a-0cf0-41be-8210-bbac92196458",
"path": "<Gamepad>/rightStick/y",
"interactions": "",
"processors": "",
"groups": "Gamepad",
"action": "LookY",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "e5f613f7-9836-40b3-bcdc-401db9602926",
"path": "<Mouse>/delta/y",
"interactions": "",
"processors": "",
"groups": "KeyboardAndMouse",
"action": "LookY",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "41fe5882-9820-403d-9da9-1ba0a8c437b7",
"path": "<Gamepad>/rightStick",
"interactions": "",
"processors": "",
"groups": "Gamepad",
"action": "Look",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "3e8ae0b3-4972-4351-a77c-2a3125cf7ab7",
"path": "<Mouse>/delta",
"interactions": "",
"processors": "",
"groups": "KeyboardAndMouse",
"action": "Look",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "WSAD",
"id": "3a46acbf-ebd5-4e38-933c-d53068556077",
"path": "2DVector(mode=2)",
"interactions": "",
"processors": "",
"groups": "",
"action": "Move",
"isComposite": true,
"isPartOfComposite": false
},
{
"name": "up",
"id": "94a4b58d-8a4f-409e-bfea-dac4c7d853f0",
"path": "<Keyboard>/w",
"interactions": "",
"processors": "",
"groups": "KeyboardAndMouse",
"action": "Move",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "down",
"id": "7cee12a9-312a-4384-b4d7-9b87a7ff7e6f",
"path": "<Keyboard>/s",
"interactions": "",
"processors": "",
"groups": "KeyboardAndMouse",
"action": "Move",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "left",
"id": "09eb7fac-54eb-4d63-97e6-1cf8342612c2",
"path": "<Keyboard>/a",
"interactions": "",
"processors": "",
"groups": "KeyboardAndMouse",
"action": "Move",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "right",
"id": "df455feb-ac72-4da7-8d5f-920dfa037f30",
"path": "<Keyboard>/d",
"interactions": "",
"processors": "",
"groups": "KeyboardAndMouse",
"action": "Move",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "2D Vector",
"id": "68d39b58-7346-4964-8cb6-fd351c720e2a",
"path": "2DVector",
"interactions": "",
"processors": "",
"groups": "",
"action": "Move",
"isComposite": true,
"isPartOfComposite": false
},
{
"name": "up",
"id": "62677d38-551e-46c2-a453-698e6a5c5583",
"path": "<Gamepad>/leftStick/up",
"interactions": "",
"processors": "",
"groups": "Gamepad",
"action": "Move",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "down",
"id": "a9d0ea59-e180-44ca-b0b9-6cd7419244d9",
"path": "<Gamepad>/leftStick/down",
"interactions": "",
"processors": "",
"groups": "Gamepad",
"action": "Move",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "left",
"id": "0f263857-e42c-4820-ae0d-a2d6a765c3d0",
"path": "<Gamepad>/leftStick/left",
"interactions": "",
"processors": "",
"groups": "Gamepad",
"action": "Move",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "right",
"id": "28d03a05-136e-4883-bc46-52e402cfe114",
"path": "<Gamepad>/leftStick/right",
"interactions": "",
"processors": "",
"groups": "Gamepad",
"action": "Move",
"isComposite": false,
"isPartOfComposite": true
}
]
},
{
"name": "AliveControls",
"id": "4bbdbb06-7af3-4dcc-b82c-da998073329f",
"actions": [
{
"name": "Sprint",
"type": "PassThrough",
@ -94,33 +305,6 @@
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "LookX",
"type": "PassThrough",
"id": "dd3390ea-d08d-43d4-8916-e6981e8c44ff",
"expectedControlType": "Axis",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "LookY",
"type": "PassThrough",
"id": "41a8cb22-7344-404a-88f3-bfbd720a18d0",
"expectedControlType": "Axis",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "Look",
"type": "Value",
"id": "bf60ade9-f32c-42bc-a5a2-963c35d51b10",
"expectedControlType": "Vector2",
"processors": "",
"interactions": "",
"initialStateCheck": true
}
],
"bindings": [
@ -223,116 +407,6 @@
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "WSAD",
"id": "b3483537-e801-4a67-b733-c606e902a01d",
"path": "2DVector(mode=2)",
"interactions": "",
"processors": "",
"groups": "",
"action": "Walk",
"isComposite": true,
"isPartOfComposite": false
},
{
"name": "up",
"id": "157b46bb-b71e-4a9a-953b-7118a4717e98",
"path": "<Keyboard>/w",
"interactions": "",
"processors": "",
"groups": "KeyboardAndMouse",
"action": "Walk",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "down",
"id": "53b32fc3-1953-44e9-a426-731c051a4dda",
"path": "<Keyboard>/s",
"interactions": "",
"processors": "",
"groups": "KeyboardAndMouse",
"action": "Walk",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "left",
"id": "36eefb0e-f89a-4ecf-bff4-9c0c416ad941",
"path": "<Keyboard>/a",
"interactions": "",
"processors": "",
"groups": "KeyboardAndMouse",
"action": "Walk",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "right",
"id": "abfd1090-1e03-46e2-9513-cada83db6b50",
"path": "<Keyboard>/d",
"interactions": "",
"processors": "",
"groups": "KeyboardAndMouse",
"action": "Walk",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "2D Vector",
"id": "a6dbb289-a4e4-4df9-9ec2-104398f5b992",
"path": "2DVector",
"interactions": "",
"processors": "",
"groups": "",
"action": "Walk",
"isComposite": true,
"isPartOfComposite": false
},
{
"name": "up",
"id": "78783fb6-7e37-449a-bd3b-eebba6036e2b",
"path": "<Gamepad>/leftStick/up",
"interactions": "",
"processors": "",
"groups": "Gamepad",
"action": "Walk",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "down",
"id": "818e11ba-1a73-450a-adfe-e8325786b944",
"path": "<Gamepad>/leftStick/down",
"interactions": "",
"processors": "",
"groups": "Gamepad",
"action": "Walk",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "left",
"id": "04271ba8-a18d-4cd2-b6a0-6d075768e238",
"path": "<Gamepad>/leftStick/left",
"interactions": "",
"processors": "",
"groups": "Gamepad",
"action": "Walk",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "right",
"id": "4abfa1d6-2fd4-4c68-95c3-ad5a96b395f8",
"path": "<Gamepad>/leftStick/right",
"interactions": "",
"processors": "",
"groups": "Gamepad",
"action": "Walk",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "",
"id": "d901207b-8d93-4616-9604-0c5512c31043",
@ -365,70 +439,114 @@
"action": "DropAmmo",
"isComposite": false,
"isPartOfComposite": false
}
]
},
{
"name": "SpectatorControls",
"id": "2cc562f6-1b6c-4033-b783-2a481ab11dec",
"actions": [
{
"name": "SpeedDown",
"type": "PassThrough",
"id": "1e150f46-f771-4738-92fc-2fc13b6697b7",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "SpeedUp",
"type": "PassThrough",
"id": "4ec09521-b697-424d-b042-16c4c355012c",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "FlyUp",
"type": "PassThrough",
"id": "040d9888-cb95-4fad-a331-f2a145bc3734",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "FlyDown",
"type": "PassThrough",
"id": "eac59bf7-63bf-49e6-b205-9ee40b7c6543",
"expectedControlType": "Button",
"processors": "",
"interactions": "",
"initialStateCheck": false
}
],
"bindings": [
{
"name": "",
"id": "28218d15-65b8-4844-92d6-43077a7ef2de",
"path": "<Mouse>/delta/x",
"id": "d6d7fc3a-514a-4be7-9cbc-9013a799f97b",
"path": "<Keyboard>/leftShift",
"interactions": "",
"processors": "",
"groups": "KeyboardAndMouse",
"action": "LookX",
"action": "SpeedDown",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "c84fc16d-14a0-4f70-9974-685479021d7c",
"path": "<Gamepad>/rightStick/x",
"id": "ba11331b-16b8-418a-beff-a7f2b229c9fc",
"path": "<Gamepad>/leftStickPress",
"interactions": "",
"processors": "",
"groups": "Gamepad",
"action": "LookX",
"action": "SpeedDown",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "8193ed21-c881-4d25-8b79-1b9d20eada5f",
"path": "<Gamepad>/rightStick/y",
"interactions": "",
"processors": "",
"groups": "Gamepad",
"action": "LookY",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "f5044c4f-a79a-42a2-8da3-9063c0b7a76c",
"path": "<Mouse>/delta/y",
"id": "94669407-3bdd-4d9e-97a7-cfd8240c719d",
"path": "<Keyboard>/leftCtrl",
"interactions": "",
"processors": "",
"groups": "KeyboardAndMouse",
"action": "LookY",
"action": "SpeedUp",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "a716393e-407f-4eaa-8b07-96314914ccff",
"path": "<Gamepad>/rightStick",
"id": "b17b0cd2-d98f-49f0-8515-9c8e7d66d75d",
"path": "<Gamepad>/rightStickPress",
"interactions": "",
"processors": "",
"groups": "Gamepad",
"action": "Look",
"action": "SpeedUp",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "e5d7131f-7a50-44e8-b6d8-1f34bcc95e00",
"path": "<Mouse>/delta",
"id": "ad1fec41-855d-4fb8-a36a-483ddfd01293",
"path": "<Keyboard>/e",
"interactions": "",
"processors": "",
"groups": "KeyboardAndMouse",
"action": "Look",
"groups": "",
"action": "FlyUp",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "09208229-bf6f-4337-a4f3-0d7309e57c7c",
"path": "<Keyboard>/q",
"interactions": "",
"processors": "",
"groups": "",
"action": "FlyDown",
"isComposite": false,
"isPartOfComposite": false
}

View file

@ -9,6 +9,6 @@ ScriptedImporter:
assetBundleVariant:
script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3}
generateWrapperCode: 1
wrapperCodePath: Assets/Scripts/Player/Character/Controller/Core/PlayerInputSender.cs
wrapperCodePath: Assets/Scripts/Player/Character/Controller/PlayerInputSender.cs
wrapperClassName: PlayerInputSender
wrapperCodeNamespace: TTTSC.Player.Character.Controller

View file

@ -0,0 +1,632 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1135382073684329176
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1135382073684329177}
- component: {fileID: 1135382073684329173}
- component: {fileID: 1135382073684329172}
- component: {fileID: 1135382073684329179}
- component: {fileID: 1135382073684329178}
m_Layer: 3
m_Name: Spectator
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1135382073684329177
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382073684329176}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1135382075031318070}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1135382073684329173
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382073684329176}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8ef574f735723bd449e49daddc163edd, type: 3}
m_Name:
m_EditorClassIdentifier:
_cameraTransform: {fileID: 0}
_spectatorMoveConfig: {fileID: 1135382073684329172}
_characterStateMachine: {fileID: 1135382073684329179}
--- !u!114 &1135382073684329172
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382073684329176}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7afdad33481efdb42ac6baa1ececb12b, type: 3}
m_Name:
m_EditorClassIdentifier:
spectatorFastFlightSpeed: 2
spectatorNormalFlightSpeed: 1
spectatorSlowFlightSpeed: 1.5
flyUpSpeed: 1
flyDownSpeed: 1
spectatorDrag: 5
--- !u!114 &1135382073684329179
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382073684329176}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 11afecc1cbbd8e8449477483a5577cb0, type: 3}
m_Name:
m_EditorClassIdentifier:
characterState: 0
movementStates: 0
ceilingDetected: 0
eligibleForStep: 0
onLadder: 0
topOnLadder: 0
bottomOnLadder: 0
enteredLadderFromBottom: 0
enteredLadderFromTop: 0
topLadder: {fileID: 0}
bottomLadder: {fileID: 0}
--- !u!114 &1135382073684329178
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382073684329176}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1b1224eb420c67a48aa00d1fc76c7662, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1135382074330079443
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1135382074330079436}
- component: {fileID: 1135382074330079438}
- component: {fileID: 1135382074330079437}
m_Layer: 5
m_Name: Role
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1135382074330079436
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382074330079443}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1135382074695583846}
m_Father: {fileID: 1135382075172996870}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -34.50351, y: 0.2033081}
m_SizeDelta: {x: -86.99988, y: -18.31781}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1135382074330079438
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382074330079443}
m_CullTransparentMesh: 1
--- !u!114 &1135382074330079437
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382074330079443}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.5283019, g: 0.5283019, b: 0.5283019, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &1135382074586652819
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1135382074586652812}
- component: {fileID: 1135382074586652814}
- component: {fileID: 1135382074586652813}
m_Layer: 5
m_Name: TimeLeft
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1135382074586652812
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382074586652819}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.44537035, y: 0.44537035, z: 0.44537035}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1135382075172996870}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 54.7, y: 0.20333862}
m_SizeDelta: {x: 120.4757, y: 45.2514}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1135382074586652814
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382074586652819}
m_CullTransparentMesh: 1
--- !u!114 &1135382074586652813
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382074586652819}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 00:00
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 4
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &1135382074695583845
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1135382074695583846}
- component: {fileID: 1135382074695583840}
- component: {fileID: 1135382074695583847}
m_Layer: 5
m_Name: Text (TMP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1135382074695583846
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382074695583845}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1135382074330079436}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -0.1484, y: -0.1487}
m_SizeDelta: {x: 92.0841, y: 21.6896}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1135382074695583840
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382074695583845}
m_CullTransparentMesh: 1
--- !u!114 &1135382074695583847
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382074695583845}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Waiting
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 19.4
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &1135382075031318069
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1135382075031318070}
- component: {fileID: 1135382075031318065}
- component: {fileID: 1135382075031318064}
- component: {fileID: 1135382075031318071}
m_Layer: 5
m_Name: UI
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1135382075031318070
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382075031318069}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1135382075172996870}
m_Father: {fileID: 1135382073684329177}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!223 &1135382075031318065
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382075031318069}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 25
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!114 &1135382075031318064
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382075031318069}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!114 &1135382075031318071
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382075031318069}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!1 &1135382075172996869
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1135382075172996870}
- component: {fileID: 1135382075172996864}
- component: {fileID: 1135382075172996871}
m_Layer: 5
m_Name: SpectatorInfo
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1135382075172996870
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382075172996869}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.75251, y: 0.75251, z: 0.75251}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1135382074586652812}
- {fileID: 1135382074330079436}
m_Father: {fileID: 1135382075031318070}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -310.8634, y: -200.4}
m_SizeDelta: {x: -611.7028, y: -404.4062}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1135382075172996864
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382075172996869}
m_CullTransparentMesh: 1
--- !u!114 &1135382075172996871
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1135382075172996869}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.21698111, g: 0.21698111, b: 0.21698111, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1

View file

@ -1,7 +1,6 @@
fileFormatVersion: 2
guid: 94cf9cbbb9601154fa0166e5cba4cf56
folderAsset: yes
DefaultImporter:
guid: b615186e864b86245a99d5258f67ae27
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:

View file

@ -1,80 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RotationAnalogTracker : MonoBehaviour
{
[SerializeField]
private Transform _trackedObject;
[SerializeField]
float _currentRotation = 0;
[Header("Z+")][SerializeField]
private bool _Facing_Z_Plus;
[SerializeField]
private float _lookDirectionForwardMin, _lookDirectionForwardMax;
[Header("X+")]
[SerializeField]
private bool _Facing_X_Plus;
[SerializeField]
private float _lookDirectionRightMin, _lookDirectionRightMax;
[Header("X-")]
[SerializeField]
private bool _Facing_X_Minus;
[SerializeField]
private float _lookDirectionLeftMin, _lookDirectionLeftMax;
[Header("Z-")][SerializeField]
private bool _Facing_Z_Minus;
[SerializeField]
private float _lookDirectionBackMin, _lookDirectionBackMax;
bool IsInRange(float valueToCheck, float minimumValue, float maximumValue)
{
bool result;
if(valueToCheck >= minimumValue && valueToCheck <= maximumValue)
{
result = true;
}
else
{
result = false;
}
return result;
}
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
_currentRotation = _trackedObject.rotation.y;
_Facing_Z_Plus = IsInRange(_trackedObject.rotation.y, _lookDirectionForwardMin, _lookDirectionForwardMax);
if (!IsInRange(_trackedObject.rotation.y, _lookDirectionBackMin, _lookDirectionBackMax))
{
_Facing_Z_Minus = true;
}
else
{
_Facing_Z_Minus = false;
}
_Facing_X_Minus = IsInRange(_trackedObject.rotation.y, _lookDirectionLeftMin, _lookDirectionLeftMax);
_Facing_X_Plus = IsInRange(_trackedObject.rotation.y, _lookDirectionRightMin, _lookDirectionRightMax);
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace TTTSC.Player.Character
{
public class AliveReffrenceHub : MonoBehaviour
{
public Controller.CharacterMovementConfig characterMovementConfig;
public Controller.CharacterStateMachine characterStateMachine;
public Controller.GroundCheck characterHover;
public Controller.CharacterStateChanger characterStateChanger;
}
}

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 8182877c8e1aff543b5bd05e5a5c7c8f
guid: 4a3c4a8867cd2f64e9f17bd9abc1f72a
MonoImporter:
externalObjects: {}
serializedVersion: 2

View file

@ -7,17 +7,18 @@ namespace TTTSC.Player.Character.Controller.Alive
public class CharacterMover : MonoBehaviour
{
[SerializeField]
private CharacterReffrenceHub _ReffrenceHub;
private PlayerGhostReffrenceHub _playerGhostReffrenceHub;
[SerializeField]
private AliveReffrenceHub _aliveReffrenceHub;
private PlayerStateMachine _playerStateMachine;
private PlayerStateEnforcer _playerStateEnforcer;
private CharacterStateMachine _characterStateMachine;
private CharacterMovementConfig _characterMovementConfig;
private CharacterHover _characterHover;
private GroundCheck _characterHover;
private PlayerInputReceiver _playerInputReceiver;
private Rigidbody _characterRigidbody;
[SerializeField]
private float _inAirCounterForce, _moveCounterForce;
[SerializeField]
private bool _autoB_Hop;
@ -35,12 +36,14 @@ namespace TTTSC.Player.Character.Controller.Alive
private void Awake()
{
_playerStateMachine = _ReffrenceHub.playerStateMachine;
_playerStateEnforcer = _ReffrenceHub.playerStateEnforcrer;
_characterStateMachine = _ReffrenceHub.characterStateMachine;
_characterMovementConfig = _ReffrenceHub.characterMovementConfig;
_characterHover = _ReffrenceHub.characterHover;
_playerInputReceiver = _ReffrenceHub.playerInputReceiver;
_playerGhostReffrenceHub = GetComponentInParent<PlayerGhostReffrenceHub>();
_characterRigidbody = _playerGhostReffrenceHub.characterRigidbody;
_playerStateMachine = _playerGhostReffrenceHub.playerStateMachine;
_playerStateEnforcer = _playerGhostReffrenceHub.playerStateEnforcrer;
_characterStateMachine = _aliveReffrenceHub.characterStateMachine;
_characterMovementConfig = _aliveReffrenceHub.characterMovementConfig;
_characterHover = _aliveReffrenceHub.characterHover;
_playerInputReceiver = _playerGhostReffrenceHub.playerInputReceiver;
_playerInputReceiver.MoveInputEvent += MoveInput;
@ -49,7 +52,7 @@ namespace TTTSC.Player.Character.Controller.Alive
void Start()
{
_characterRigidbody = _characterMovementConfig.characterRigidbody;
_characterRigidbody = _playerGhostReffrenceHub.characterRigidbody;
}
#region Input event listeners
@ -127,7 +130,6 @@ namespace TTTSC.Player.Character.Controller.Alive
private void Move()
{
switch (_characterStateMachine.movementStates)
{
case CharacterStateMachine.MovementStates.Walking:
@ -142,8 +144,6 @@ namespace TTTSC.Player.Character.Controller.Alive
Sprinting();
break;
}
}
private void InAirMove()
@ -152,7 +152,7 @@ namespace TTTSC.Player.Character.Controller.Alive
Vector3 normalizedMovement = movement.normalized * _characterMovementConfig.airControlForce;
Vector3 counterForce = -movement.normalized * _inAirCounterForce;
Vector3 counterForce = -movement.normalized * _characterMovementConfig.airControlCounterForce;
@ -196,7 +196,7 @@ namespace TTTSC.Player.Character.Controller.Alive
Vector3 normalizedMovement = movement.normalized * _characterMovementConfig.moveForce;
Vector3 counterForce = -movement.normalized * _characterMovementConfig.moveCounterForce;
//Vector3 counterForce = -movement.normalized * _characterMovementConfig.moveCounterForce;
_characterRigidbody.AddForce(normalizedMovement, ForceMode.VelocityChange);
//_characterRigidbody.AddForce(counterForce, ForceMode.VelocityChange);
@ -210,7 +210,7 @@ namespace TTTSC.Player.Character.Controller.Alive
Vector3 normalizedMovement = movement.normalized * _characterMovementConfig.crouchMoveForce;
Vector3 counterForce = -movement.normalized * _characterMovementConfig.crouchMoveCounterForce;
//Vector3 counterForce = -movement.normalized * _characterMovementConfig.crouchMoveCounterForce;
/*(switch (switched)
{
@ -231,7 +231,7 @@ namespace TTTSC.Player.Character.Controller.Alive
Vector3 normalizedMovement = movement.normalized * _characterMovementConfig.sprintMoveForce;
Vector3 counterForce = -movement.normalized *_characterMovementConfig.sprintMoveCounterForce;
//Vector3 counterForce = -movement.normalized *_characterMovementConfig.sprintMoveCounterForce;
_characterRigidbody.AddForce(normalizedMovement, ForceMode.VelocityChange);
//_characterRigidbody.AddForce(counterForce, ForceMode.VelocityChange);

View file

@ -4,7 +4,7 @@ using UnityEngine;
namespace TTTSC.Player.Character.Controller
{
public class CharacterHover : MonoBehaviour
public class GroundCheck : MonoBehaviour
{
[SerializeField]
float _capsuleCastHight, _capsuleCastRadius;
@ -12,7 +12,7 @@ namespace TTTSC.Player.Character.Controller
Vector3 _downVector;
[SerializeField]
private CharacterReffrenceHub characterReffrenceHub;
private AliveReffrenceHub _aliveReffrenceHub;
private CharacterMovementConfig _characterMovementConfig;
private CharacterStateMachine _characterStateMachine;
[SerializeField]
@ -33,7 +33,9 @@ namespace TTTSC.Player.Character.Controller
private void OnDrawGizmos()
{
_characterMovementConfig = characterReffrenceHub.characterMovementConfig;
_characterMovementConfig = _aliveReffrenceHub.characterMovementConfig;
switch (_rayStatus)
{
@ -58,8 +60,8 @@ namespace TTTSC.Player.Character.Controller
private void Awake()
{
_characterMovementConfig = characterReffrenceHub.characterMovementConfig;
_characterStateMachine = characterReffrenceHub.characterStateMachine;
_characterMovementConfig = _aliveReffrenceHub.characterMovementConfig;
_characterStateMachine = _aliveReffrenceHub.characterStateMachine;
}
// Update is called once per frame
@ -67,7 +69,7 @@ namespace TTTSC.Player.Character.Controller
{
_downVector = transform.TransformDirection(Vector3.down);
Vector3 characterVelocity = _characterMovementConfig.characterRigidbody.velocity;
Vector3 characterVelocity = GetComponentInParent<Rigidbody>().velocity;
_rayStatus = Physics.CapsuleCast(new Vector3(_groundCheckOrigin.position.x, (_capsuleCastHight / 2) + _groundCheckOrigin.position.y, _groundCheckOrigin.position.z),
new Vector3(_groundCheckOrigin.position.x, (-_capsuleCastHight / 2) + _groundCheckOrigin.position.y, _groundCheckOrigin.position.z), _capsuleCastRadius,_downVector, out _hoverRayHit, _characterMovementConfig.groundCheckLength, _layerMask);

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: ca59fe8c0733ebf4b81534079a3975ff
guid: ee10fff50205c76408a349d5521b6095
MonoImporter:
externalObjects: {}
serializedVersion: 2

View file

@ -4,22 +4,23 @@ namespace TTTSC.Player.Character.Controller
{
public class CharacterMovementConfig : MonoBehaviour
{
public Rigidbody characterRigidbody; // Rigidbody that will be used for moving character around
[Header("On Ground")]
[Header("Move on ground")]
public float moveForce; // This value controlls at what speed your character walks
public float moveCounterForce; // This value controlls at what speed your character walks
public float crouchMoveForce; // This value controlls how much slower are you while crouching (equasion: walkSpeed / crouchSpeedDecrease)
public float crouchMoveCounterForce; // This value controlls how much slower are you while crouching (equasion: walkSpeed / crouchSpeedDecrease)
public float sprintMoveForce; // This value controlls how much faster are you while sprinting (equasion: walkSpeed * sprintSpeedIncrease)
public float sprintMoveCounterForce; // This value controlls h ow much faster are you while sprinting (equasion: walkSpeed * sprintSpeedIncrease)
public float ladderClimbingForce; // This value controlls how fast dose the character climb ladders
public float desieredHoverHight;
public float crouchHeight; // This value controlls the hight of player when crouched
public float crouchSmoothing; // This value controlls the transition speed of standing to crouch and viceversa
public bool allowSprint; // bool for enabling sprint
public float jumpForce; // This value controlls character's jump height
[Header("Collider standing")]
public float standingColliderPosition;
public float standingColliderHight;
[Header("Collider standing")]
public float crouchedColliderPosition;
public float crouchedColliderHight;
[Header("Drag")]
public float idleDrag;
public float moveDrag;

View file

@ -4,10 +4,10 @@ using UnityEngine;
namespace TTTSC.Player.Character.Controller
{
[RequireComponent(typeof(CharacterStateMachine))]
public class CharacterStateChanger : MonoBehaviour
{
[SerializeField]
private CharacterReffrenceHub _characterReffrenceHub;
private PlayerGhostReffrenceHub _playerGhostReffrenceHub;
private PlayerInputReceiver _playerInputReceiver;
private CharacterStateMachine _characterStateMachine;
@ -15,8 +15,9 @@ namespace TTTSC.Player.Character.Controller
private void Awake()
{
_playerInputReceiver = _characterReffrenceHub.playerInputReceiver;
_characterStateMachine = _characterReffrenceHub.characterStateMachine;
_playerGhostReffrenceHub = GetComponentInParent<PlayerGhostReffrenceHub>();
_playerInputReceiver = _playerGhostReffrenceHub.playerInputReceiver;
_characterStateMachine = GetComponent<CharacterStateMachine>();
}
private void Start()

View file

@ -7,33 +7,20 @@ namespace TTTSC.Player.Character.Controller
public class CharacterStateEnforcer : MonoBehaviour
{
[SerializeField]
private CharacterReffrenceHub _reffrenceHub;
[Header("Normal")]
[SerializeField]
private Vector3 _desieredStandingColliderPosition;
[SerializeField]
private float _desieredStandingColliderHight;
[Header("Crouched")]
[SerializeField]
private Vector3 _desieredCrouchedColliderPosition;
[SerializeField]
private float _desieredCrouchedColliderHight;
private PlayerGhostReffrenceHub _aliveReffrenceHub;
[SerializeField]
private CapsuleCollider _characterEnviormentCollider;
private CharacterMovementConfig _characterMovementConfig;
private CharacterHover _characterHover;
private GroundCheck _characterHover;
private CharacterStateMachine _characterStateMachine;
// Start is called before the first frame update
void Start()
{
_characterHover = GetComponent<CharacterHover>();
_aliveReffrenceHub = GetComponentInParent<PlayerGhostReffrenceHub>();
_characterHover = GetComponent<GroundCheck>();
_characterMovementConfig = GetComponent<CharacterMovementConfig>();
_characterStateMachine = GetComponent<CharacterStateMachine>();
}
@ -56,17 +43,17 @@ namespace TTTSC.Player.Character.Controller
{
_characterHover.currentHoverHight = _characterMovementConfig.crouchHeight;
_characterEnviormentCollider.height = _desieredCrouchedColliderHight;
_characterEnviormentCollider.center = _desieredCrouchedColliderPosition;
_characterEnviormentCollider.height = _characterMovementConfig.crouchedColliderHight;
_characterEnviormentCollider.center = _characterMovementConfig.crouchedColliderPosition * transform.up;
}
private void CharacterDefault()
{
_characterHover.currentHoverHight = _characterMovementConfig.desieredHoverHight;
_characterEnviormentCollider.height = _desieredStandingColliderHight;
_characterEnviormentCollider.center = _desieredStandingColliderPosition;
_characterEnviormentCollider.height = _characterMovementConfig.standingColliderHight;
_characterEnviormentCollider.center = _characterMovementConfig.standingColliderPosition * transform.up;
}
}
}

View file

@ -14,6 +14,12 @@ namespace TTTSC.Player.Character.Controller
public event Action<bool, float> SprintInputEvent, CrouchInputEvent, JumpInputEvent;
#region SpectatorControls
public event Action<bool, float> SpectatorSpeedUpInputEvent, SpectatorSlowDownEvent, FlyUpInputEvent, FlyDownInputEvent;
bool _spectatorSpeedUpIsHeld, _spectatorSlowDownIsHeld, _flyUpIsHeld, _flyDownIsHeld;
float _spectatorSpeedUpStageValue, _spectatorSlowDownStageValue, _flyUpStageValue, _flyDownStageValue;
#endregion
public PlayerInputSender playerInputEvents;
private void OnEnable()
@ -21,22 +27,72 @@ namespace TTTSC.Player.Character.Controller
playerInputEvents = new PlayerInputSender();
playerInputEvents.Enable();
playerInputEvents.Controlls.Walk.performed += WalkInputReceiver;
playerInputEvents.Controlls.LookX.performed += LookXInputReceiver;
playerInputEvents.Controlls.LookY.performed += LookYInputReceiver;
playerInputEvents.Controlls.Sprint.performed += SprintInputReceiver;
playerInputEvents.Controlls.Jump.performed += JumpInputReceiver;
playerInputEvents.Controlls.Crouch.performed += CrouchInputReceiver;
//
#region GlobalControls
playerInputEvents.GlobalControls.LookX.performed += LookXInputReceiver;
playerInputEvents.GlobalControls.LookY.performed += LookYInputReceiver;
playerInputEvents.GlobalControls.Move.performed += WalkInputReceiver;
#endregion
//
#region AliveControls
playerInputEvents.AliveControls.Sprint.performed += SprintInputReceiver;
playerInputEvents.AliveControls.Jump.performed += JumpInputReceiver;
playerInputEvents.AliveControls.Crouch.performed += CrouchInputReceiver;
#endregion
//
#region SpectatorControls
playerInputEvents.SpectatorControls.SpeedUp.performed += SpectatorSpeedUp;
playerInputEvents.SpectatorControls.SpeedDown.performed += SpectatorSlowDown;
playerInputEvents.SpectatorControls.FlyUp.performed += SpectatorFlyUp;
playerInputEvents.SpectatorControls.FlyDown.performed += SpectatorFlyDown;
#endregion
}
private void OnDisable()
{
playerInputEvents.Disable();
playerInputEvents.Controlls.Walk.performed -= WalkInputReceiver;
playerInputEvents.Controlls.LookX.performed -= LookXInputReceiver;
playerInputEvents.Controlls.Sprint.performed -= SprintInputReceiver;
playerInputEvents.Controlls.Jump.performed -= JumpInputReceiver;
playerInputEvents.Controlls.Crouch.performed -= CrouchInputReceiver;
//
#region GlobalControls
playerInputEvents.GlobalControls.LookX.performed -= LookXInputReceiver;
playerInputEvents.GlobalControls.LookY.performed -= LookYInputReceiver;
playerInputEvents.GlobalControls.Move.performed -= WalkInputReceiver;
#endregion
//
#region AliveControls
playerInputEvents.AliveControls.Sprint.performed -= SprintInputReceiver;
playerInputEvents.AliveControls.Jump.performed -= JumpInputReceiver;
playerInputEvents.AliveControls.Crouch.performed -= CrouchInputReceiver;
#endregion
//
#region SpectatorControls
playerInputEvents.SpectatorControls.SpeedUp.performed -= SpectatorSpeedUp;
playerInputEvents.SpectatorControls.SpeedDown.performed -= SpectatorSlowDown;
playerInputEvents.SpectatorControls.FlyUp.performed -= SpectatorFlyUp;
playerInputEvents.SpectatorControls.FlyDown.performed -= SpectatorFlyDown;
#endregion
}
#region FloatBool function
@ -126,25 +182,59 @@ namespace TTTSC.Player.Character.Controller
private void FixedUpdate()
{
playerInputEvents.Controlls.Sprint.started += ctx => _sprintStageValue = 1;
playerInputEvents.Controlls.Sprint.performed += ctx => _sprintStageValue = 2;
playerInputEvents.Controlls.Sprint.canceled += ctx => _sprintStageValue = 0;
#region AliveControls
playerInputEvents.AliveControls.Sprint.started += ctx => _sprintStageValue = 1;
playerInputEvents.AliveControls.Sprint.performed += ctx => _sprintStageValue = 2;
playerInputEvents.AliveControls.Sprint.canceled += ctx => _sprintStageValue = 0;
SprintInputEvent?.Invoke(_sprintIsHeld, _sprintStageValue);
playerInputEvents.Controlls.Crouch.started += ctx => _crouchStageValue = 1;
playerInputEvents.Controlls.Crouch.performed += ctx => _crouchStageValue = 2;
playerInputEvents.Controlls.Crouch.canceled += ctx => _crouchStageValue = 0;
playerInputEvents.AliveControls.Crouch.started += ctx => _crouchStageValue = 1;
playerInputEvents.AliveControls.Crouch.performed += ctx => _crouchStageValue = 2;
playerInputEvents.AliveControls.Crouch.canceled += ctx => _crouchStageValue = 0;
CrouchInputEvent?.Invoke(_crouchIsHeld, _crouchStageValue);
playerInputEvents.Controlls.Jump.started += ctx => _jumpStageValue = 1;
playerInputEvents.Controlls.Jump.performed += ctx => _jumpStageValue = 2;
playerInputEvents.Controlls.Jump.canceled += ctx => _jumpStageValue = 0;
playerInputEvents.AliveControls.Jump.started += ctx => _jumpStageValue = 1;
playerInputEvents.AliveControls.Jump.performed += ctx => _jumpStageValue = 2;
playerInputEvents.AliveControls.Jump.canceled += ctx => _jumpStageValue = 0;
JumpInputEvent?.Invoke(_jumpIsHeld, _jumpStageValue);
#endregion
//
#region SpectatorControls
playerInputEvents.SpectatorControls.SpeedUp.started += ctx => _spectatorSpeedUpStageValue = 1;
playerInputEvents.SpectatorControls.SpeedUp.performed += ctx => _spectatorSpeedUpStageValue = 2;
playerInputEvents.SpectatorControls.SpeedUp.canceled += ctx => _spectatorSpeedUpStageValue = 0;
SpectatorSpeedUpInputEvent?.Invoke(_spectatorSpeedUpIsHeld, _spectatorSpeedUpStageValue);
playerInputEvents.SpectatorControls.SpeedDown.started += ctx => _spectatorSlowDownStageValue = 1;
playerInputEvents.SpectatorControls.SpeedDown.performed += ctx => _spectatorSlowDownStageValue = 2;
playerInputEvents.SpectatorControls.SpeedDown.canceled += ctx => _spectatorSlowDownStageValue = 0;
SpectatorSlowDownEvent?.Invoke(_spectatorSlowDownIsHeld, _spectatorSlowDownStageValue);
playerInputEvents.SpectatorControls.FlyUp.started += ctx => _flyUpStageValue = 1;
playerInputEvents.SpectatorControls.FlyUp.performed += ctx => _flyUpStageValue = 2;
playerInputEvents.SpectatorControls.FlyUp.canceled += ctx => _flyUpStageValue = 0;
FlyUpInputEvent?.Invoke(_flyUpIsHeld, _flyUpStageValue);
playerInputEvents.SpectatorControls.FlyDown.started += ctx => _flyDownStageValue = 1;
playerInputEvents.SpectatorControls.FlyDown.performed += ctx => _flyDownStageValue = 2;
playerInputEvents.SpectatorControls.FlyDown.canceled += ctx => _flyDownStageValue = 0;
FlyDownInputEvent?.Invoke(_flyDownIsHeld, _flyDownStageValue);
#endregion
}
#region GlobalControls
private void LookXInputReceiver(InputAction.CallbackContext ctx)
{
var value = ctx.ReadValue<float>();
@ -158,7 +248,7 @@ namespace TTTSC.Player.Character.Controller
float value = ctx.ReadValue<float>();
_lookY = value;
Look(FloatBool(value, "!=", 0));
}
@ -172,20 +262,23 @@ namespace TTTSC.Player.Character.Controller
private void WalkInputReceiver(InputAction.CallbackContext ctx)
{
var value = ctx.ReadValue<Vector2>();
bool performing = !(value == new Vector2(0, 0));
MoveInputEvent?.Invoke(value, performing);
}
#endregion
#region AliveControls
private void SprintInputReceiver(InputAction.CallbackContext ctx)
{
float value = ctx.ReadValue<float>();
_sprintIsHeld = FloatBool(value, "==", 1);
}
private void CrouchInputReceiver(InputAction.CallbackContext ctx)
@ -205,5 +298,39 @@ namespace TTTSC.Player.Character.Controller
_jumpIsHeld = FloatBool(value, "==", 1);
}
#endregion
#region SpectatorControls
private void SpectatorSpeedUp(InputAction.CallbackContext ctx)
{
float value = ctx.ReadValue<float>();
_spectatorSpeedUpIsHeld = FloatBool(value, "==", 1);
}
private void SpectatorSlowDown(InputAction.CallbackContext ctx)
{
float value = ctx.ReadValue<float>();
_spectatorSlowDownIsHeld = FloatBool(value, "==", 1);
}
private void SpectatorFlyUp(InputAction.CallbackContext ctx)
{
float value = ctx.ReadValue<float>();
_flyUpIsHeld = FloatBool(value, "==", 1);
}
private void SpectatorFlyDown(InputAction.CallbackContext ctx)
{
float value = ctx.ReadValue<float>();
_flyDownIsHeld = FloatBool(value, "==", 1);
}
#endregion
}
}

View file

@ -2,7 +2,7 @@
// <auto-generated>
// This code was auto-generated by com.unity.inputsystem:InputActionCodeGenerator
// version 1.3.0
// from Assets/Character/Controller/Player.inputactions
// from Assets/Character/Controller/PlayerInputMap.inputactions
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@ -23,21 +23,232 @@ namespace TTTSC.Player.Character.Controller
public @PlayerInputSender()
{
asset = InputActionAsset.FromJson(@"{
""name"": ""Player"",
""name"": ""PlayerInputMap"",
""maps"": [
{
""name"": ""Controlls"",
""id"": ""4bbdbb06-7af3-4dcc-b82c-da998073329f"",
""name"": ""GlobalControls"",
""id"": ""80a94b07-c872-4005-ab13-f6846539b962"",
""actions"": [
{
""name"": ""Walk"",
""name"": ""Move"",
""type"": ""PassThrough"",
""id"": ""ae5b37b6-edb0-46fa-b484-1047b375607b"",
""id"": ""e306a0c6-05e1-41f8-8497-ee988dfacefb"",
""expectedControlType"": ""Vector2"",
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
},
{
""name"": ""LookX"",
""type"": ""PassThrough"",
""id"": ""9e41a01a-35e8-4cfc-84cc-79c5a7b7921f"",
""expectedControlType"": ""Axis"",
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
},
{
""name"": ""LookY"",
""type"": ""PassThrough"",
""id"": ""f46c648c-2667-4e0b-aab6-e407577cc890"",
""expectedControlType"": ""Axis"",
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
},
{
""name"": ""Look"",
""type"": ""Value"",
""id"": ""a9fa0561-8e05-48bb-a5b7-391ddfbc1710"",
""expectedControlType"": ""Vector2"",
""processors"": """",
""interactions"": """",
""initialStateCheck"": true
}
],
""bindings"": [
{
""name"": """",
""id"": ""9b11e168-a64e-4f38-87b5-29ad02d7cde4"",
""path"": ""<Mouse>/delta/x"",
""interactions"": """",
""processors"": """",
""groups"": ""KeyboardAndMouse"",
""action"": ""LookX"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""85545a0e-6f34-45e4-b648-4616c8a0d40b"",
""path"": ""<Gamepad>/rightStick/x"",
""interactions"": """",
""processors"": """",
""groups"": ""Gamepad"",
""action"": ""LookX"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""3b61f03a-0cf0-41be-8210-bbac92196458"",
""path"": ""<Gamepad>/rightStick/y"",
""interactions"": """",
""processors"": """",
""groups"": ""Gamepad"",
""action"": ""LookY"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""e5f613f7-9836-40b3-bcdc-401db9602926"",
""path"": ""<Mouse>/delta/y"",
""interactions"": """",
""processors"": """",
""groups"": ""KeyboardAndMouse"",
""action"": ""LookY"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""41fe5882-9820-403d-9da9-1ba0a8c437b7"",
""path"": ""<Gamepad>/rightStick"",
""interactions"": """",
""processors"": """",
""groups"": ""Gamepad"",
""action"": ""Look"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""3e8ae0b3-4972-4351-a77c-2a3125cf7ab7"",
""path"": ""<Mouse>/delta"",
""interactions"": """",
""processors"": """",
""groups"": ""KeyboardAndMouse"",
""action"": ""Look"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": ""WSAD"",
""id"": ""3a46acbf-ebd5-4e38-933c-d53068556077"",
""path"": ""2DVector(mode=2)"",
""interactions"": """",
""processors"": """",
""groups"": """",
""action"": ""Move"",
""isComposite"": true,
""isPartOfComposite"": false
},
{
""name"": ""up"",
""id"": ""94a4b58d-8a4f-409e-bfea-dac4c7d853f0"",
""path"": ""<Keyboard>/w"",
""interactions"": """",
""processors"": """",
""groups"": ""KeyboardAndMouse"",
""action"": ""Move"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""down"",
""id"": ""7cee12a9-312a-4384-b4d7-9b87a7ff7e6f"",
""path"": ""<Keyboard>/s"",
""interactions"": """",
""processors"": """",
""groups"": ""KeyboardAndMouse"",
""action"": ""Move"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""left"",
""id"": ""09eb7fac-54eb-4d63-97e6-1cf8342612c2"",
""path"": ""<Keyboard>/a"",
""interactions"": """",
""processors"": """",
""groups"": ""KeyboardAndMouse"",
""action"": ""Move"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""right"",
""id"": ""df455feb-ac72-4da7-8d5f-920dfa037f30"",
""path"": ""<Keyboard>/d"",
""interactions"": """",
""processors"": """",
""groups"": ""KeyboardAndMouse"",
""action"": ""Move"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""2D Vector"",
""id"": ""68d39b58-7346-4964-8cb6-fd351c720e2a"",
""path"": ""2DVector"",
""interactions"": """",
""processors"": """",
""groups"": """",
""action"": ""Move"",
""isComposite"": true,
""isPartOfComposite"": false
},
{
""name"": ""up"",
""id"": ""62677d38-551e-46c2-a453-698e6a5c5583"",
""path"": ""<Gamepad>/leftStick/up"",
""interactions"": """",
""processors"": """",
""groups"": ""Gamepad"",
""action"": ""Move"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""down"",
""id"": ""a9d0ea59-e180-44ca-b0b9-6cd7419244d9"",
""path"": ""<Gamepad>/leftStick/down"",
""interactions"": """",
""processors"": """",
""groups"": ""Gamepad"",
""action"": ""Move"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""left"",
""id"": ""0f263857-e42c-4820-ae0d-a2d6a765c3d0"",
""path"": ""<Gamepad>/leftStick/left"",
""interactions"": """",
""processors"": """",
""groups"": ""Gamepad"",
""action"": ""Move"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""right"",
""id"": ""28d03a05-136e-4883-bc46-52e402cfe114"",
""path"": ""<Gamepad>/leftStick/right"",
""interactions"": """",
""processors"": """",
""groups"": ""Gamepad"",
""action"": ""Move"",
""isComposite"": false,
""isPartOfComposite"": true
}
]
},
{
""name"": ""AliveControls"",
""id"": ""4bbdbb06-7af3-4dcc-b82c-da998073329f"",
""actions"": [
{
""name"": ""Sprint"",
""type"": ""PassThrough"",
@ -118,33 +329,6 @@ namespace TTTSC.Player.Character.Controller
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
},
{
""name"": ""LookX"",
""type"": ""PassThrough"",
""id"": ""dd3390ea-d08d-43d4-8916-e6981e8c44ff"",
""expectedControlType"": ""Axis"",
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
},
{
""name"": ""LookY"",
""type"": ""PassThrough"",
""id"": ""41a8cb22-7344-404a-88f3-bfbd720a18d0"",
""expectedControlType"": ""Axis"",
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
},
{
""name"": ""Look"",
""type"": ""Value"",
""id"": ""bf60ade9-f32c-42bc-a5a2-963c35d51b10"",
""expectedControlType"": ""Vector2"",
""processors"": """",
""interactions"": """",
""initialStateCheck"": true
}
],
""bindings"": [
@ -247,116 +431,6 @@ namespace TTTSC.Player.Character.Controller
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": ""WSAD"",
""id"": ""b3483537-e801-4a67-b733-c606e902a01d"",
""path"": ""2DVector(mode=2)"",
""interactions"": """",
""processors"": """",
""groups"": """",
""action"": ""Walk"",
""isComposite"": true,
""isPartOfComposite"": false
},
{
""name"": ""up"",
""id"": ""157b46bb-b71e-4a9a-953b-7118a4717e98"",
""path"": ""<Keyboard>/w"",
""interactions"": """",
""processors"": """",
""groups"": ""KeyboardAndMouse"",
""action"": ""Walk"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""down"",
""id"": ""53b32fc3-1953-44e9-a426-731c051a4dda"",
""path"": ""<Keyboard>/s"",
""interactions"": """",
""processors"": """",
""groups"": ""KeyboardAndMouse"",
""action"": ""Walk"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""left"",
""id"": ""36eefb0e-f89a-4ecf-bff4-9c0c416ad941"",
""path"": ""<Keyboard>/a"",
""interactions"": """",
""processors"": """",
""groups"": ""KeyboardAndMouse"",
""action"": ""Walk"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""right"",
""id"": ""abfd1090-1e03-46e2-9513-cada83db6b50"",
""path"": ""<Keyboard>/d"",
""interactions"": """",
""processors"": """",
""groups"": ""KeyboardAndMouse"",
""action"": ""Walk"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""2D Vector"",
""id"": ""a6dbb289-a4e4-4df9-9ec2-104398f5b992"",
""path"": ""2DVector"",
""interactions"": """",
""processors"": """",
""groups"": """",
""action"": ""Walk"",
""isComposite"": true,
""isPartOfComposite"": false
},
{
""name"": ""up"",
""id"": ""78783fb6-7e37-449a-bd3b-eebba6036e2b"",
""path"": ""<Gamepad>/leftStick/up"",
""interactions"": """",
""processors"": """",
""groups"": ""Gamepad"",
""action"": ""Walk"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""down"",
""id"": ""818e11ba-1a73-450a-adfe-e8325786b944"",
""path"": ""<Gamepad>/leftStick/down"",
""interactions"": """",
""processors"": """",
""groups"": ""Gamepad"",
""action"": ""Walk"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""left"",
""id"": ""04271ba8-a18d-4cd2-b6a0-6d075768e238"",
""path"": ""<Gamepad>/leftStick/left"",
""interactions"": """",
""processors"": """",
""groups"": ""Gamepad"",
""action"": ""Walk"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""right"",
""id"": ""4abfa1d6-2fd4-4c68-95c3-ad5a96b395f8"",
""path"": ""<Gamepad>/leftStick/right"",
""interactions"": """",
""processors"": """",
""groups"": ""Gamepad"",
""action"": ""Walk"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": """",
""id"": ""d901207b-8d93-4616-9604-0c5512c31043"",
@ -389,70 +463,114 @@ namespace TTTSC.Player.Character.Controller
""action"": ""DropAmmo"",
""isComposite"": false,
""isPartOfComposite"": false
}
]
},
{
""name"": ""SpectatorControls"",
""id"": ""2cc562f6-1b6c-4033-b783-2a481ab11dec"",
""actions"": [
{
""name"": ""SpeedDown"",
""type"": ""PassThrough"",
""id"": ""1e150f46-f771-4738-92fc-2fc13b6697b7"",
""expectedControlType"": ""Button"",
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
},
{
""name"": ""SpeedUp"",
""type"": ""PassThrough"",
""id"": ""4ec09521-b697-424d-b042-16c4c355012c"",
""expectedControlType"": ""Button"",
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
},
{
""name"": ""FlyUp"",
""type"": ""PassThrough"",
""id"": ""040d9888-cb95-4fad-a331-f2a145bc3734"",
""expectedControlType"": ""Button"",
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
},
{
""name"": ""FlyDown"",
""type"": ""PassThrough"",
""id"": ""eac59bf7-63bf-49e6-b205-9ee40b7c6543"",
""expectedControlType"": ""Button"",
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
}
],
""bindings"": [
{
""name"": """",
""id"": ""28218d15-65b8-4844-92d6-43077a7ef2de"",
""path"": ""<Mouse>/delta/x"",
""id"": ""d6d7fc3a-514a-4be7-9cbc-9013a799f97b"",
""path"": ""<Keyboard>/leftShift"",
""interactions"": """",
""processors"": """",
""groups"": ""KeyboardAndMouse"",
""action"": ""LookX"",
""action"": ""SpeedDown"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""c84fc16d-14a0-4f70-9974-685479021d7c"",
""path"": ""<Gamepad>/rightStick/x"",
""id"": ""ba11331b-16b8-418a-beff-a7f2b229c9fc"",
""path"": ""<Gamepad>/leftStickPress"",
""interactions"": """",
""processors"": """",
""groups"": ""Gamepad"",
""action"": ""LookX"",
""action"": ""SpeedDown"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""8193ed21-c881-4d25-8b79-1b9d20eada5f"",
""path"": ""<Gamepad>/rightStick/y"",
""interactions"": """",
""processors"": """",
""groups"": ""Gamepad"",
""action"": ""LookY"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""f5044c4f-a79a-42a2-8da3-9063c0b7a76c"",
""path"": ""<Mouse>/delta/y"",
""id"": ""94669407-3bdd-4d9e-97a7-cfd8240c719d"",
""path"": ""<Keyboard>/leftCtrl"",
""interactions"": """",
""processors"": """",
""groups"": ""KeyboardAndMouse"",
""action"": ""LookY"",
""action"": ""SpeedUp"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""a716393e-407f-4eaa-8b07-96314914ccff"",
""path"": ""<Gamepad>/rightStick"",
""id"": ""b17b0cd2-d98f-49f0-8515-9c8e7d66d75d"",
""path"": ""<Gamepad>/rightStickPress"",
""interactions"": """",
""processors"": """",
""groups"": ""Gamepad"",
""action"": ""Look"",
""action"": ""SpeedUp"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""e5d7131f-7a50-44e8-b6d8-1f34bcc95e00"",
""path"": ""<Mouse>/delta"",
""id"": ""ad1fec41-855d-4fb8-a36a-483ddfd01293"",
""path"": ""<Keyboard>/e"",
""interactions"": """",
""processors"": """",
""groups"": ""KeyboardAndMouse"",
""action"": ""Look"",
""groups"": """",
""action"": ""FlyUp"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""09208229-bf6f-4337-a4f3-0d7309e57c7c"",
""path"": ""<Keyboard>/q"",
""interactions"": """",
""processors"": """",
""groups"": """",
""action"": ""FlyDown"",
""isComposite"": false,
""isPartOfComposite"": false
}
@ -494,21 +612,29 @@ namespace TTTSC.Player.Character.Controller
}
]
}");
// Controlls
m_Controlls = asset.FindActionMap("Controlls", throwIfNotFound: true);
m_Controlls_Walk = m_Controlls.FindAction("Walk", throwIfNotFound: true);
m_Controlls_Sprint = m_Controlls.FindAction("Sprint", throwIfNotFound: true);
m_Controlls_Crouch = m_Controlls.FindAction("Crouch", throwIfNotFound: true);
m_Controlls_Jump = m_Controlls.FindAction("Jump", throwIfNotFound: true);
m_Controlls_Interact = m_Controlls.FindAction("Interact", throwIfNotFound: true);
m_Controlls_Shop = m_Controlls.FindAction("Shop", throwIfNotFound: true);
m_Controlls_Aim = m_Controlls.FindAction("Aim", throwIfNotFound: true);
m_Controlls_Shoot = m_Controlls.FindAction("Shoot", throwIfNotFound: true);
m_Controlls_DropItem = m_Controlls.FindAction("DropItem", throwIfNotFound: true);
m_Controlls_DropAmmo = m_Controlls.FindAction("DropAmmo", throwIfNotFound: true);
m_Controlls_LookX = m_Controlls.FindAction("LookX", throwIfNotFound: true);
m_Controlls_LookY = m_Controlls.FindAction("LookY", throwIfNotFound: true);
m_Controlls_Look = m_Controlls.FindAction("Look", throwIfNotFound: true);
// GlobalControls
m_GlobalControls = asset.FindActionMap("GlobalControls", throwIfNotFound: true);
m_GlobalControls_Move = m_GlobalControls.FindAction("Move", throwIfNotFound: true);
m_GlobalControls_LookX = m_GlobalControls.FindAction("LookX", throwIfNotFound: true);
m_GlobalControls_LookY = m_GlobalControls.FindAction("LookY", throwIfNotFound: true);
m_GlobalControls_Look = m_GlobalControls.FindAction("Look", throwIfNotFound: true);
// AliveControls
m_AliveControls = asset.FindActionMap("AliveControls", throwIfNotFound: true);
m_AliveControls_Sprint = m_AliveControls.FindAction("Sprint", throwIfNotFound: true);
m_AliveControls_Crouch = m_AliveControls.FindAction("Crouch", throwIfNotFound: true);
m_AliveControls_Jump = m_AliveControls.FindAction("Jump", throwIfNotFound: true);
m_AliveControls_Interact = m_AliveControls.FindAction("Interact", throwIfNotFound: true);
m_AliveControls_Shop = m_AliveControls.FindAction("Shop", throwIfNotFound: true);
m_AliveControls_Aim = m_AliveControls.FindAction("Aim", throwIfNotFound: true);
m_AliveControls_Shoot = m_AliveControls.FindAction("Shoot", throwIfNotFound: true);
m_AliveControls_DropItem = m_AliveControls.FindAction("DropItem", throwIfNotFound: true);
m_AliveControls_DropAmmo = m_AliveControls.FindAction("DropAmmo", throwIfNotFound: true);
// SpectatorControls
m_SpectatorControls = asset.FindActionMap("SpectatorControls", throwIfNotFound: true);
m_SpectatorControls_SpeedDown = m_SpectatorControls.FindAction("SpeedDown", throwIfNotFound: true);
m_SpectatorControls_SpeedUp = m_SpectatorControls.FindAction("SpeedUp", throwIfNotFound: true);
m_SpectatorControls_FlyUp = m_SpectatorControls.FindAction("FlyUp", throwIfNotFound: true);
m_SpectatorControls_FlyDown = m_SpectatorControls.FindAction("FlyDown", throwIfNotFound: true);
}
public void Dispose()
@ -565,94 +691,128 @@ namespace TTTSC.Player.Character.Controller
return asset.FindBinding(bindingMask, out action);
}
// Controlls
private readonly InputActionMap m_Controlls;
private IControllsActions m_ControllsActionsCallbackInterface;
private readonly InputAction m_Controlls_Walk;
private readonly InputAction m_Controlls_Sprint;
private readonly InputAction m_Controlls_Crouch;
private readonly InputAction m_Controlls_Jump;
private readonly InputAction m_Controlls_Interact;
private readonly InputAction m_Controlls_Shop;
private readonly InputAction m_Controlls_Aim;
private readonly InputAction m_Controlls_Shoot;
private readonly InputAction m_Controlls_DropItem;
private readonly InputAction m_Controlls_DropAmmo;
private readonly InputAction m_Controlls_LookX;
private readonly InputAction m_Controlls_LookY;
private readonly InputAction m_Controlls_Look;
public struct ControllsActions
// GlobalControls
private readonly InputActionMap m_GlobalControls;
private IGlobalControlsActions m_GlobalControlsActionsCallbackInterface;
private readonly InputAction m_GlobalControls_Move;
private readonly InputAction m_GlobalControls_LookX;
private readonly InputAction m_GlobalControls_LookY;
private readonly InputAction m_GlobalControls_Look;
public struct GlobalControlsActions
{
private @PlayerInputSender m_Wrapper;
public ControllsActions(@PlayerInputSender wrapper) { m_Wrapper = wrapper; }
public InputAction @Walk => m_Wrapper.m_Controlls_Walk;
public InputAction @Sprint => m_Wrapper.m_Controlls_Sprint;
public InputAction @Crouch => m_Wrapper.m_Controlls_Crouch;
public InputAction @Jump => m_Wrapper.m_Controlls_Jump;
public InputAction @Interact => m_Wrapper.m_Controlls_Interact;
public InputAction @Shop => m_Wrapper.m_Controlls_Shop;
public InputAction @Aim => m_Wrapper.m_Controlls_Aim;
public InputAction @Shoot => m_Wrapper.m_Controlls_Shoot;
public InputAction @DropItem => m_Wrapper.m_Controlls_DropItem;
public InputAction @DropAmmo => m_Wrapper.m_Controlls_DropAmmo;
public InputAction @LookX => m_Wrapper.m_Controlls_LookX;
public InputAction @LookY => m_Wrapper.m_Controlls_LookY;
public InputAction @Look => m_Wrapper.m_Controlls_Look;
public InputActionMap Get() { return m_Wrapper.m_Controlls; }
public GlobalControlsActions(@PlayerInputSender wrapper) { m_Wrapper = wrapper; }
public InputAction @Move => m_Wrapper.m_GlobalControls_Move;
public InputAction @LookX => m_Wrapper.m_GlobalControls_LookX;
public InputAction @LookY => m_Wrapper.m_GlobalControls_LookY;
public InputAction @Look => m_Wrapper.m_GlobalControls_Look;
public InputActionMap Get() { return m_Wrapper.m_GlobalControls; }
public void Enable() { Get().Enable(); }
public void Disable() { Get().Disable(); }
public bool enabled => Get().enabled;
public static implicit operator InputActionMap(ControllsActions set) { return set.Get(); }
public void SetCallbacks(IControllsActions instance)
public static implicit operator InputActionMap(GlobalControlsActions set) { return set.Get(); }
public void SetCallbacks(IGlobalControlsActions instance)
{
if (m_Wrapper.m_ControllsActionsCallbackInterface != null)
if (m_Wrapper.m_GlobalControlsActionsCallbackInterface != null)
{
@Walk.started -= m_Wrapper.m_ControllsActionsCallbackInterface.OnWalk;
@Walk.performed -= m_Wrapper.m_ControllsActionsCallbackInterface.OnWalk;
@Walk.canceled -= m_Wrapper.m_ControllsActionsCallbackInterface.OnWalk;
@Sprint.started -= m_Wrapper.m_ControllsActionsCallbackInterface.OnSprint;
@Sprint.performed -= m_Wrapper.m_ControllsActionsCallbackInterface.OnSprint;
@Sprint.canceled -= m_Wrapper.m_ControllsActionsCallbackInterface.OnSprint;
@Crouch.started -= m_Wrapper.m_ControllsActionsCallbackInterface.OnCrouch;
@Crouch.performed -= m_Wrapper.m_ControllsActionsCallbackInterface.OnCrouch;
@Crouch.canceled -= m_Wrapper.m_ControllsActionsCallbackInterface.OnCrouch;
@Jump.started -= m_Wrapper.m_ControllsActionsCallbackInterface.OnJump;
@Jump.performed -= m_Wrapper.m_ControllsActionsCallbackInterface.OnJump;
@Jump.canceled -= m_Wrapper.m_ControllsActionsCallbackInterface.OnJump;
@Interact.started -= m_Wrapper.m_ControllsActionsCallbackInterface.OnInteract;
@Interact.performed -= m_Wrapper.m_ControllsActionsCallbackInterface.OnInteract;
@Interact.canceled -= m_Wrapper.m_ControllsActionsCallbackInterface.OnInteract;
@Shop.started -= m_Wrapper.m_ControllsActionsCallbackInterface.OnShop;
@Shop.performed -= m_Wrapper.m_ControllsActionsCallbackInterface.OnShop;
@Shop.canceled -= m_Wrapper.m_ControllsActionsCallbackInterface.OnShop;
@Aim.started -= m_Wrapper.m_ControllsActionsCallbackInterface.OnAim;
@Aim.performed -= m_Wrapper.m_ControllsActionsCallbackInterface.OnAim;
@Aim.canceled -= m_Wrapper.m_ControllsActionsCallbackInterface.OnAim;
@Shoot.started -= m_Wrapper.m_ControllsActionsCallbackInterface.OnShoot;
@Shoot.performed -= m_Wrapper.m_ControllsActionsCallbackInterface.OnShoot;
@Shoot.canceled -= m_Wrapper.m_ControllsActionsCallbackInterface.OnShoot;
@DropItem.started -= m_Wrapper.m_ControllsActionsCallbackInterface.OnDropItem;
@DropItem.performed -= m_Wrapper.m_ControllsActionsCallbackInterface.OnDropItem;
@DropItem.canceled -= m_Wrapper.m_ControllsActionsCallbackInterface.OnDropItem;
@DropAmmo.started -= m_Wrapper.m_ControllsActionsCallbackInterface.OnDropAmmo;
@DropAmmo.performed -= m_Wrapper.m_ControllsActionsCallbackInterface.OnDropAmmo;
@DropAmmo.canceled -= m_Wrapper.m_ControllsActionsCallbackInterface.OnDropAmmo;
@LookX.started -= m_Wrapper.m_ControllsActionsCallbackInterface.OnLookX;
@LookX.performed -= m_Wrapper.m_ControllsActionsCallbackInterface.OnLookX;
@LookX.canceled -= m_Wrapper.m_ControllsActionsCallbackInterface.OnLookX;
@LookY.started -= m_Wrapper.m_ControllsActionsCallbackInterface.OnLookY;
@LookY.performed -= m_Wrapper.m_ControllsActionsCallbackInterface.OnLookY;
@LookY.canceled -= m_Wrapper.m_ControllsActionsCallbackInterface.OnLookY;
@Look.started -= m_Wrapper.m_ControllsActionsCallbackInterface.OnLook;
@Look.performed -= m_Wrapper.m_ControllsActionsCallbackInterface.OnLook;
@Look.canceled -= m_Wrapper.m_ControllsActionsCallbackInterface.OnLook;
@Move.started -= m_Wrapper.m_GlobalControlsActionsCallbackInterface.OnMove;
@Move.performed -= m_Wrapper.m_GlobalControlsActionsCallbackInterface.OnMove;
@Move.canceled -= m_Wrapper.m_GlobalControlsActionsCallbackInterface.OnMove;
@LookX.started -= m_Wrapper.m_GlobalControlsActionsCallbackInterface.OnLookX;
@LookX.performed -= m_Wrapper.m_GlobalControlsActionsCallbackInterface.OnLookX;
@LookX.canceled -= m_Wrapper.m_GlobalControlsActionsCallbackInterface.OnLookX;
@LookY.started -= m_Wrapper.m_GlobalControlsActionsCallbackInterface.OnLookY;
@LookY.performed -= m_Wrapper.m_GlobalControlsActionsCallbackInterface.OnLookY;
@LookY.canceled -= m_Wrapper.m_GlobalControlsActionsCallbackInterface.OnLookY;
@Look.started -= m_Wrapper.m_GlobalControlsActionsCallbackInterface.OnLook;
@Look.performed -= m_Wrapper.m_GlobalControlsActionsCallbackInterface.OnLook;
@Look.canceled -= m_Wrapper.m_GlobalControlsActionsCallbackInterface.OnLook;
}
m_Wrapper.m_ControllsActionsCallbackInterface = instance;
m_Wrapper.m_GlobalControlsActionsCallbackInterface = instance;
if (instance != null)
{
@Move.started += instance.OnMove;
@Move.performed += instance.OnMove;
@Move.canceled += instance.OnMove;
@LookX.started += instance.OnLookX;
@LookX.performed += instance.OnLookX;
@LookX.canceled += instance.OnLookX;
@LookY.started += instance.OnLookY;
@LookY.performed += instance.OnLookY;
@LookY.canceled += instance.OnLookY;
@Look.started += instance.OnLook;
@Look.performed += instance.OnLook;
@Look.canceled += instance.OnLook;
}
}
}
public GlobalControlsActions @GlobalControls => new GlobalControlsActions(this);
// AliveControls
private readonly InputActionMap m_AliveControls;
private IAliveControlsActions m_AliveControlsActionsCallbackInterface;
private readonly InputAction m_AliveControls_Sprint;
private readonly InputAction m_AliveControls_Crouch;
private readonly InputAction m_AliveControls_Jump;
private readonly InputAction m_AliveControls_Interact;
private readonly InputAction m_AliveControls_Shop;
private readonly InputAction m_AliveControls_Aim;
private readonly InputAction m_AliveControls_Shoot;
private readonly InputAction m_AliveControls_DropItem;
private readonly InputAction m_AliveControls_DropAmmo;
public struct AliveControlsActions
{
private @PlayerInputSender m_Wrapper;
public AliveControlsActions(@PlayerInputSender wrapper) { m_Wrapper = wrapper; }
public InputAction @Sprint => m_Wrapper.m_AliveControls_Sprint;
public InputAction @Crouch => m_Wrapper.m_AliveControls_Crouch;
public InputAction @Jump => m_Wrapper.m_AliveControls_Jump;
public InputAction @Interact => m_Wrapper.m_AliveControls_Interact;
public InputAction @Shop => m_Wrapper.m_AliveControls_Shop;
public InputAction @Aim => m_Wrapper.m_AliveControls_Aim;
public InputAction @Shoot => m_Wrapper.m_AliveControls_Shoot;
public InputAction @DropItem => m_Wrapper.m_AliveControls_DropItem;
public InputAction @DropAmmo => m_Wrapper.m_AliveControls_DropAmmo;
public InputActionMap Get() { return m_Wrapper.m_AliveControls; }
public void Enable() { Get().Enable(); }
public void Disable() { Get().Disable(); }
public bool enabled => Get().enabled;
public static implicit operator InputActionMap(AliveControlsActions set) { return set.Get(); }
public void SetCallbacks(IAliveControlsActions instance)
{
if (m_Wrapper.m_AliveControlsActionsCallbackInterface != null)
{
@Sprint.started -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnSprint;
@Sprint.performed -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnSprint;
@Sprint.canceled -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnSprint;
@Crouch.started -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnCrouch;
@Crouch.performed -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnCrouch;
@Crouch.canceled -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnCrouch;
@Jump.started -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnJump;
@Jump.performed -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnJump;
@Jump.canceled -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnJump;
@Interact.started -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnInteract;
@Interact.performed -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnInteract;
@Interact.canceled -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnInteract;
@Shop.started -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnShop;
@Shop.performed -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnShop;
@Shop.canceled -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnShop;
@Aim.started -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnAim;
@Aim.performed -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnAim;
@Aim.canceled -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnAim;
@Shoot.started -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnShoot;
@Shoot.performed -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnShoot;
@Shoot.canceled -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnShoot;
@DropItem.started -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnDropItem;
@DropItem.performed -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnDropItem;
@DropItem.canceled -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnDropItem;
@DropAmmo.started -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnDropAmmo;
@DropAmmo.performed -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnDropAmmo;
@DropAmmo.canceled -= m_Wrapper.m_AliveControlsActionsCallbackInterface.OnDropAmmo;
}
m_Wrapper.m_AliveControlsActionsCallbackInterface = instance;
if (instance != null)
{
@Walk.started += instance.OnWalk;
@Walk.performed += instance.OnWalk;
@Walk.canceled += instance.OnWalk;
@Sprint.started += instance.OnSprint;
@Sprint.performed += instance.OnSprint;
@Sprint.canceled += instance.OnSprint;
@ -680,19 +840,67 @@ namespace TTTSC.Player.Character.Controller
@DropAmmo.started += instance.OnDropAmmo;
@DropAmmo.performed += instance.OnDropAmmo;
@DropAmmo.canceled += instance.OnDropAmmo;
@LookX.started += instance.OnLookX;
@LookX.performed += instance.OnLookX;
@LookX.canceled += instance.OnLookX;
@LookY.started += instance.OnLookY;
@LookY.performed += instance.OnLookY;
@LookY.canceled += instance.OnLookY;
@Look.started += instance.OnLook;
@Look.performed += instance.OnLook;
@Look.canceled += instance.OnLook;
}
}
}
public ControllsActions @Controlls => new ControllsActions(this);
public AliveControlsActions @AliveControls => new AliveControlsActions(this);
// SpectatorControls
private readonly InputActionMap m_SpectatorControls;
private ISpectatorControlsActions m_SpectatorControlsActionsCallbackInterface;
private readonly InputAction m_SpectatorControls_SpeedDown;
private readonly InputAction m_SpectatorControls_SpeedUp;
private readonly InputAction m_SpectatorControls_FlyUp;
private readonly InputAction m_SpectatorControls_FlyDown;
public struct SpectatorControlsActions
{
private @PlayerInputSender m_Wrapper;
public SpectatorControlsActions(@PlayerInputSender wrapper) { m_Wrapper = wrapper; }
public InputAction @SpeedDown => m_Wrapper.m_SpectatorControls_SpeedDown;
public InputAction @SpeedUp => m_Wrapper.m_SpectatorControls_SpeedUp;
public InputAction @FlyUp => m_Wrapper.m_SpectatorControls_FlyUp;
public InputAction @FlyDown => m_Wrapper.m_SpectatorControls_FlyDown;
public InputActionMap Get() { return m_Wrapper.m_SpectatorControls; }
public void Enable() { Get().Enable(); }
public void Disable() { Get().Disable(); }
public bool enabled => Get().enabled;
public static implicit operator InputActionMap(SpectatorControlsActions set) { return set.Get(); }
public void SetCallbacks(ISpectatorControlsActions instance)
{
if (m_Wrapper.m_SpectatorControlsActionsCallbackInterface != null)
{
@SpeedDown.started -= m_Wrapper.m_SpectatorControlsActionsCallbackInterface.OnSpeedDown;
@SpeedDown.performed -= m_Wrapper.m_SpectatorControlsActionsCallbackInterface.OnSpeedDown;
@SpeedDown.canceled -= m_Wrapper.m_SpectatorControlsActionsCallbackInterface.OnSpeedDown;
@SpeedUp.started -= m_Wrapper.m_SpectatorControlsActionsCallbackInterface.OnSpeedUp;
@SpeedUp.performed -= m_Wrapper.m_SpectatorControlsActionsCallbackInterface.OnSpeedUp;
@SpeedUp.canceled -= m_Wrapper.m_SpectatorControlsActionsCallbackInterface.OnSpeedUp;
@FlyUp.started -= m_Wrapper.m_SpectatorControlsActionsCallbackInterface.OnFlyUp;
@FlyUp.performed -= m_Wrapper.m_SpectatorControlsActionsCallbackInterface.OnFlyUp;
@FlyUp.canceled -= m_Wrapper.m_SpectatorControlsActionsCallbackInterface.OnFlyUp;
@FlyDown.started -= m_Wrapper.m_SpectatorControlsActionsCallbackInterface.OnFlyDown;
@FlyDown.performed -= m_Wrapper.m_SpectatorControlsActionsCallbackInterface.OnFlyDown;
@FlyDown.canceled -= m_Wrapper.m_SpectatorControlsActionsCallbackInterface.OnFlyDown;
}
m_Wrapper.m_SpectatorControlsActionsCallbackInterface = instance;
if (instance != null)
{
@SpeedDown.started += instance.OnSpeedDown;
@SpeedDown.performed += instance.OnSpeedDown;
@SpeedDown.canceled += instance.OnSpeedDown;
@SpeedUp.started += instance.OnSpeedUp;
@SpeedUp.performed += instance.OnSpeedUp;
@SpeedUp.canceled += instance.OnSpeedUp;
@FlyUp.started += instance.OnFlyUp;
@FlyUp.performed += instance.OnFlyUp;
@FlyUp.canceled += instance.OnFlyUp;
@FlyDown.started += instance.OnFlyDown;
@FlyDown.performed += instance.OnFlyDown;
@FlyDown.canceled += instance.OnFlyDown;
}
}
}
public SpectatorControlsActions @SpectatorControls => new SpectatorControlsActions(this);
private int m_KeyboardAndMouseSchemeIndex = -1;
public InputControlScheme KeyboardAndMouseScheme
{
@ -711,9 +919,15 @@ namespace TTTSC.Player.Character.Controller
return asset.controlSchemes[m_GamepadSchemeIndex];
}
}
public interface IControllsActions
public interface IGlobalControlsActions
{
void OnMove(InputAction.CallbackContext context);
void OnLookX(InputAction.CallbackContext context);
void OnLookY(InputAction.CallbackContext context);
void OnLook(InputAction.CallbackContext context);
}
public interface IAliveControlsActions
{
void OnWalk(InputAction.CallbackContext context);
void OnSprint(InputAction.CallbackContext context);
void OnCrouch(InputAction.CallbackContext context);
void OnJump(InputAction.CallbackContext context);
@ -723,9 +937,13 @@ namespace TTTSC.Player.Character.Controller
void OnShoot(InputAction.CallbackContext context);
void OnDropItem(InputAction.CallbackContext context);
void OnDropAmmo(InputAction.CallbackContext context);
void OnLookX(InputAction.CallbackContext context);
void OnLookY(InputAction.CallbackContext context);
void OnLook(InputAction.CallbackContext context);
}
public interface ISpectatorControlsActions
{
void OnSpeedDown(InputAction.CallbackContext context);
void OnSpeedUp(InputAction.CallbackContext context);
void OnFlyUp(InputAction.CallbackContext context);
void OnFlyDown(InputAction.CallbackContext context);
}
}
}

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 90bb1c1c93bbac24ba569475b3d214ab
guid: 81e0b3ff709db0a4a8ba0f8696ea9e09
MonoImporter:
externalObjects: {}
serializedVersion: 2

View file

@ -0,0 +1,15 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SpectatorMoveConfig : MonoBehaviour
{
public float spectatorFastFlightSpeed;
public float spectatorNormalFlightSpeed;
public float spectatorSlowFlightSpeed;
public float flyUpSpeed;
public float flyDownSpeed;
public float spectatorDrag;
}

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 47fbeaf5a8b077b4196092280e5755df
guid: 7afdad33481efdb42ac6baa1ececb12b
MonoImporter:
externalObjects: {}
serializedVersion: 2

View file

@ -0,0 +1,175 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace TTTSC.Player.Character.Controller
{
public class SpectatorMover : MonoBehaviour
{
private PlayerGhostReffrenceHub _playerGhostReffrenceHub;
private Transform _cameraTransform;
private Rigidbody _characterRigidbody;
[SerializeField]
private SpectatorMoveConfig _spectatorMoveConfig;
[SerializeField]
private CharacterStateMachine _characterStateMachine;
private PlayerInputReceiver _playerInputReceiver;
private bool _performingFlyUp;
private bool _performingFlyDown;
private bool _performingMoveInput;
private Vector2 _moveDirection;
// Awake is called before the first frame
void Awake()
{
_playerGhostReffrenceHub = GetComponentInParent<PlayerGhostReffrenceHub>();
_cameraTransform = _playerGhostReffrenceHub.cameraTransform;
_characterRigidbody = _playerGhostReffrenceHub.characterRigidbody;
_playerInputReceiver = _playerGhostReffrenceHub.playerInputReceiver;
_playerInputReceiver.MoveInputEvent += MoveInput;
_playerInputReceiver.FlyUpInputEvent += FlyUpInput;
_playerInputReceiver.FlyDownInputEvent += FlyDownInput;
}
// Update is called once per frame
void FixedUpdate()
{
Drag();
Move();
if (_performingFlyUp)
{
FlyUp();
}
if (_performingFlyDown)
{
FlyDown();
}
}
#region input
private void MoveInput(Vector2 moveDirection, bool performing)
{
_performingMoveInput = performing;
_moveDirection = new Vector2(moveDirection.x, moveDirection.y);
}
private void FlyUpInput(bool performing, float stageValue)
{
_performingFlyUp = performing;
}
private void FlyDownInput(bool performing, float stageValue)
{
_performingFlyDown = performing;
}
#endregion
private void Drag()
{
float multiplier = 1.0f - _spectatorMoveConfig.spectatorDrag * Time.fixedDeltaTime;
if (multiplier < 0.0f) multiplier = 0.0f;
Vector3 newVelocity = new(_characterRigidbody.velocity.x * multiplier, _characterRigidbody.velocity.y * multiplier, multiplier * _characterRigidbody.velocity.z);
_characterRigidbody.velocity = newVelocity;
}
private void Move()
{
switch (_characterStateMachine.movementStates)
{
case CharacterStateMachine.MovementStates.Walking:
FlyNormal();
break;
case CharacterStateMachine.MovementStates.Crouching:
FlySlow();
break;
case CharacterStateMachine.MovementStates.Sprinting:
FlyFast();
break;
}
}
private void FlySlow()
{
Vector3 movement = _moveDirection.x * Time.deltaTime * _cameraTransform.right + _moveDirection.y * Time.deltaTime * _cameraTransform.forward;
float slowDown = _spectatorMoveConfig.spectatorNormalFlightSpeed / _spectatorMoveConfig.spectatorSlowFlightSpeed;
_characterRigidbody.AddForce(movement.normalized * slowDown, ForceMode.VelocityChange);
}
private void FlyNormal()
{
Vector3 movement = _moveDirection.x * Time.deltaTime * _cameraTransform.right + _moveDirection.y * Time.deltaTime * _cameraTransform.forward;
_characterRigidbody.AddForce(movement.normalized * _spectatorMoveConfig.spectatorNormalFlightSpeed, ForceMode.VelocityChange);
}
private void FlyFast()
{
Vector3 movement = _moveDirection.x * Time.deltaTime * _cameraTransform.right + _moveDirection.y * Time.deltaTime * _cameraTransform.forward;
float speedUp = _spectatorMoveConfig.spectatorNormalFlightSpeed * _spectatorMoveConfig.spectatorFastFlightSpeed;
_characterRigidbody.AddForce(movement.normalized * speedUp, ForceMode.VelocityChange);
}
private void FlyUp()
{
switch (_characterStateMachine.movementStates)
{
case CharacterStateMachine.MovementStates.Idle:
_characterRigidbody.AddForce(_spectatorMoveConfig.flyUpSpeed * Vector3.up, ForceMode.VelocityChange);
break;
case CharacterStateMachine.MovementStates.Walking:
_characterRigidbody.AddForce(_spectatorMoveConfig.flyUpSpeed * Vector3.up, ForceMode.VelocityChange);
break;
case CharacterStateMachine.MovementStates.Crouching:
_characterRigidbody.AddForce((_spectatorMoveConfig.flyUpSpeed / _spectatorMoveConfig.spectatorSlowFlightSpeed) * Vector3.up, ForceMode.VelocityChange);
break;
case CharacterStateMachine.MovementStates.Sprinting:
_characterRigidbody.AddForce((_spectatorMoveConfig.flyUpSpeed * _spectatorMoveConfig.spectatorFastFlightSpeed) * Vector3.up, ForceMode.VelocityChange);
break;
}
}
private void FlyDown()
{
switch (_characterStateMachine.movementStates)
{
case CharacterStateMachine.MovementStates.Idle:
_characterRigidbody.AddForce(_spectatorMoveConfig.flyDownSpeed * Vector3.down, ForceMode.VelocityChange);
break;
case CharacterStateMachine.MovementStates.Walking:
_characterRigidbody.AddForce(_spectatorMoveConfig.flyDownSpeed * Vector3.down, ForceMode.VelocityChange);
break;
case CharacterStateMachine.MovementStates.Crouching:
_characterRigidbody.AddForce((_spectatorMoveConfig.flyDownSpeed / _spectatorMoveConfig.spectatorSlowFlightSpeed) * Vector3.down, ForceMode.VelocityChange);
break;
case CharacterStateMachine.MovementStates.Sprinting:
_characterRigidbody.AddForce((_spectatorMoveConfig.flyDownSpeed * _spectatorMoveConfig.spectatorFastFlightSpeed) * Vector3.down, ForceMode.VelocityChange);
break;
}
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8ef574f735723bd449e49daddc163edd
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,27 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace TTTSC.Player.Character
{
public class PlayerGhost : MonoBehaviour
{
public PlayerGhostReffrenceHub _playerGhostReffrenceHub;
public int shoopCoins;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 121b5a9ec69d4a342a5f5527121e6d72
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -2,18 +2,15 @@ using UnityEngine;
namespace TTTSC.Player.Character
{
public class CharacterReffrenceHub : MonoBehaviour
public class PlayerGhostReffrenceHub : MonoBehaviour
{
[Header("-----------Misc------------")]
public Rigidbody characterRigidbody;
public Transform cameraTransform;
[Header("----------Scripts-----------")]
public PlayerStateEnforcer playerStateEnforcrer;
public PlayerStateMachine playerStateMachine;
public Controller.CharacterMovementConfig characterMovementConfig;
public Controller.CharacterStateMachine characterStateMachine;
public Controller.PlayerInputReceiver playerInputReceiver;
public Controller.CharacterHover characterHover;
public Controller.CharacterStateChanger characterStateChanger;
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 495cd3a0a3a33904ab3473618f482aa4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -7,17 +7,19 @@ namespace TTTSC.Player
public class PlayerStateEnforcer : MonoBehaviour
{
private PlayerStateMachine _playerStateMachine;
[SerializeField][Tooltip("assign a body prefab to this")]
private GameObject playerBodyPrefab;
[SerializeField][Tooltip("assign the 'alive' prefab here")]
private GameObject alivePlayerPrefab;
private GameObject spectatorPlayerPrefab;
void CheckPlayerState()
{
switch (_playerStateMachine.currentPlayerGameState)
switch (_playerStateMachine.currentPlayerPlayState)
{
case PlayerStateMachine.playerGameStates.Dead:
case PlayerStateMachine.playerPlayStates.Spectator:
//add logic for turning player in to a spectator
break;
case PlayerStateMachine.playerGameStates.Alive:
case PlayerStateMachine.playerPlayStates.Alive:
//add logic for making player "alive"
//basicaly just reset player's stats
break;

View file

@ -6,13 +6,13 @@ namespace TTTSC.Player
{
public class PlayerStateMachine : MonoBehaviour
{
public enum playerGameStates
public enum playerPlayStates
{
Dead,
Spectator,
Alive
};
public playerGameStates currentPlayerGameState;
public playerPlayStates currentPlayerPlayState;
public enum playerClass
{