From 919d0e8667e0fef8ee3e780ee912fb0f995cab4c Mon Sep 17 00:00:00 2001 From: vanessrw <vanessarebecca29@gmail.com> Date: Sun, 28 Apr 2024 15:07:15 +0700 Subject: [PATCH] add: weapon switching --- Assets/Scenes/DevRoom.unity | 556 +++++++++++------- Assets/_Scripts/Core/Game/Data/GameInput.cs | 1 + .../Objects/Weapons/TestWeapon/Shotgun.cs | 0 .../Weapons/TestWeapon/Shotgun.cs.meta | 2 + Assets/_Scripts/Core/Player/Player.cs | 37 ++ .../Core/Player/PlayerInputController.cs | 10 + 6 files changed, 403 insertions(+), 203 deletions(-) rename CaseSensitiveTest => Assets/_Scripts/Core/Objects/Weapons/TestWeapon/Shotgun.cs (100%) create mode 100644 Assets/_Scripts/Core/Objects/Weapons/TestWeapon/Shotgun.cs.meta diff --git a/Assets/Scenes/DevRoom.unity b/Assets/Scenes/DevRoom.unity index 34cdf528..4db804aa 100644 --- a/Assets/Scenes/DevRoom.unity +++ b/Assets/Scenes/DevRoom.unity @@ -391,7 +391,7 @@ MonoBehaviour: meshQuery: layers: 16777223 maskAndChannels: 234881031 - surfaceParameter: 48404 + surfaceParameter: 48414 meshQueryIndex: 6 subMeshQueryIndex: 0 geometryHashValue: 3240074839323548863 @@ -662,53 +662,6 @@ MonoBehaviour: - EdgeIndices: 14000000150000001600000017000000 TexGenIndex: 5 Generation: 33 ---- !u!1 &104999907 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 104999908} - - component: {fileID: 104999909} - m_Layer: 0 - m_Name: '[generated-meshes]' - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &104999908 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 104999907} - serializedVersion: 2 - 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: 2144232461} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &104999909 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 104999907} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5c3643d4978096d4880d7edbf4f65a50, type: 3} - m_Name: - m_EditorClassIdentifier: - Version: 1 - owner: {fileID: 2144232460} - helperSurfaces: [] --- !u!43 &124604733 Mesh: m_ObjectHideFlags: 0 @@ -981,7 +934,7 @@ MonoBehaviour: meshQuery: layers: 16777223 maskAndChannels: 234881031 - surfaceParameter: 48300 + surfaceParameter: 48310 meshQueryIndex: 7 subMeshQueryIndex: 0 geometryHashValue: 3008546525906852216 @@ -1939,6 +1892,102 @@ MonoBehaviour: - EdgeIndices: 14000000150000001600000017000000 TexGenIndex: 5 Generation: 33 +--- !u!1 &215302726 +GameObject: + m_ObjectHideFlags: 17 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 215302729} + - component: {fileID: 215302728} + - component: {fileID: 215302727} + m_Layer: 0 + m_Name: '[default-CSGModel]' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 124 + m_IsActive: 1 +--- !u!54 &215302727 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 215302726} + serializedVersion: 4 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 126 + m_CollisionDetection: 0 +--- !u!114 &215302728 +MonoBehaviour: + m_ObjectHideFlags: 17 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 215302726} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8672dcc90e16b0a489a41edf56e016f8, type: 3} + m_Name: + m_EditorClassIdentifier: + PrefabBehaviour: 0 + PrefabSourceAlignment: 4 + PrefabDestinationAlignment: 0 + Version: 1.1 + infiniteBrush: {fileID: 0} + Settings: 1025 + VertexChannels: 14 + ReceiveGI: 2 + MeshColliderCookingOptions: 14 + ShowGeneratedMeshes: 0 + DefaultPhysicsMaterial: {fileID: 13400000, guid: 0c5fdfb44d6f19646a41a0720fbf751a, type: 2} + exportType: 0 + originType: 0 + exportColliders: 0 + exportPath: + angleError: 1 + areaError: 1 + hardAngle: 60 + packMargin: 20 + scaleInLightmap: 1 + autoUVMaxDistance: 0.5 + autoUVMaxAngle: 89 + minimumChartSize: 4 +--- !u!4 &215302729 +Transform: + m_ObjectHideFlags: 17 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 215302726} + serializedVersion: 2 + 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: 944518716} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &224671921 GameObject: m_ObjectHideFlags: 0 @@ -2898,7 +2947,10 @@ PrefabInstance: objectReference: {fileID: -1226145213405777949, guid: 28a96b17682d64949b4cdf780c240f88, type: 3} m_RemovedComponents: [] m_RemovedGameObjects: [] - m_AddedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: 421abe34365b9464b8f92fbbb911a1ff, type: 3} + insertIndex: -1 + addedObject: {fileID: 1250311205} m_AddedComponents: - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 421abe34365b9464b8f92fbbb911a1ff, type: 3} insertIndex: -1 @@ -4207,7 +4259,7 @@ MonoBehaviour: meshQuery: layers: 33554440 maskAndChannels: 8 - surfaceParameter: 48272 + surfaceParameter: 48282 meshQueryIndex: 2 subMeshQueryIndex: 0 geometryHashValue: -1365392548276624071 @@ -4739,54 +4791,6 @@ MonoBehaviour: - EdgeIndices: 07000000060000000500000004000000 TexGenIndex: 5 Generation: 2 ---- !u!1 &684930103 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 684930105} - - component: {fileID: 684930104} - m_Layer: 6 - m_Name: ModelSword - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &684930104 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 684930103} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5be6243682755944f96e35acb8e628a9, type: 3} - m_Name: - m_EditorClassIdentifier: - data: {fileID: 11400000, guid: 56779d045bfaf414ea1e992d489a2763, type: 2} - canAttack: 1 - attackRange: 2.5 - attackDamage: 25 ---- !u!4 &684930105 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 684930103} - serializedVersion: 2 - 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: 543450651951467715} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!43 &688319987 Mesh: m_ObjectHideFlags: 16 @@ -5289,7 +5293,7 @@ MonoBehaviour: meshQuery: layers: 33554440 maskAndChannels: 8 - surfaceParameter: 48272 + surfaceParameter: 48282 meshQueryIndex: 2 subMeshQueryIndex: 0 geometryHashValue: -1365392548276624071 @@ -5299,6 +5303,91 @@ MonoBehaviour: HasGeneratedNormals: 0 HasUV2: 0 LightingHashValue: -1365392548276624071 +--- !u!1 &786276280 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 786276281} + - component: {fileID: 786276283} + - component: {fileID: 786276282} + m_Layer: 6 + m_Name: model + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &786276281 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 786276280} + serializedVersion: 2 + 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: 543450651951467715} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &786276282 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 786276280} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &786276283 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 786276280} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} --- !u!4 &805393610 stripped Transform: m_CorrespondingSourceObject: {fileID: 6141342063799955615, guid: 7e312250336c0244193b4b75151d4fe3, type: 3} @@ -5885,6 +5974,53 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c21e0108f08f0d74b92e3576ec7a7ecc, type: 3} +--- !u!1 &944518715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 944518716} + - component: {fileID: 944518717} + m_Layer: 0 + m_Name: '[generated-meshes]' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &944518716 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 944518715} + serializedVersion: 2 + 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: 215302729} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &944518717 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 944518715} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c3643d4978096d4880d7edbf4f65a50, type: 3} + m_Name: + m_EditorClassIdentifier: + Version: 1 + owner: {fileID: 215302728} + helperSurfaces: [] --- !u!1 &954295819 GameObject: m_ObjectHideFlags: 0 @@ -7381,7 +7517,7 @@ MonoBehaviour: meshQuery: layers: 16777223 maskAndChannels: 234881031 - surfaceParameter: 48322 + surfaceParameter: 48332 meshQueryIndex: 0 subMeshQueryIndex: 0 geometryHashValue: -2436489981782101099 @@ -7741,8 +7877,11 @@ PrefabInstance: m_AddedGameObjects: - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: 3a57f57ae2418ac4d955ac7b76504ccf, type: 3} insertIndex: -1 - addedObject: {fileID: 684930105} - m_AddedComponents: [] + addedObject: {fileID: 786276281} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 3a57f57ae2418ac4d955ac7b76504ccf, type: 3} + insertIndex: -1 + addedObject: {fileID: 543450651951467716} m_SourcePrefab: {fileID: 100100000, guid: 3a57f57ae2418ac4d955ac7b76504ccf, type: 3} --- !u!1 &1193742993 GameObject: @@ -7842,6 +7981,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c98b222ded23bb24690e674886e5741a, type: 3} +--- !u!1 &1207993549 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 3a57f57ae2418ac4d955ac7b76504ccf, type: 3} + m_PrefabInstance: {fileID: 1190659014} + m_PrefabAsset: {fileID: 0} --- !u!43 &1220812133 Mesh: m_ObjectHideFlags: 16 @@ -8007,6 +8151,91 @@ Mesh: offset: 0 size: 0 path: +--- !u!1 &1250311204 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1250311205} + - component: {fileID: 1250311207} + - component: {fileID: 1250311206} + m_Layer: 6 + m_Name: model + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1250311205 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1250311204} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.2, y: 0.2, z: 0.2} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 543450652691669578} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1250311206 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1250311204} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1250311207 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1250311204} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1250453138 GameObject: m_ObjectHideFlags: 0 @@ -9462,6 +9691,7 @@ MonoBehaviour: baseDamage: 10 weaponList: - {fileID: 919132148954593521} + - {fileID: 543450651951467716} companionList: [] companionActive: --- !u!54 &1501595417 @@ -9615,7 +9845,7 @@ MonoBehaviour: meshQuery: layers: 16777223 maskAndChannels: 234881031 - surfaceParameter: 48038 + surfaceParameter: 48048 meshQueryIndex: 8 subMeshQueryIndex: 0 geometryHashValue: 6467234982613496563 @@ -10436,7 +10666,7 @@ MonoBehaviour: meshQuery: layers: 16777223 maskAndChannels: 234881031 - surfaceParameter: 47792 + surfaceParameter: 47802 meshQueryIndex: 1 subMeshQueryIndex: 0 geometryHashValue: 8624144165243009415 @@ -12192,7 +12422,7 @@ MonoBehaviour: meshQuery: layers: 16777223 maskAndChannels: 234881031 - surfaceParameter: 47916 + surfaceParameter: 47926 meshQueryIndex: 9 subMeshQueryIndex: 0 geometryHashValue: -2774585206094123893 @@ -13152,102 +13382,6 @@ MonoBehaviour: - EdgeIndices: 14000000150000001600000017000000 TexGenIndex: 5 Generation: 33 ---- !u!1 &2144232458 -GameObject: - m_ObjectHideFlags: 17 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2144232461} - - component: {fileID: 2144232460} - - component: {fileID: 2144232459} - m_Layer: 0 - m_Name: '[default-CSGModel]' - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 124 - m_IsActive: 1 ---- !u!54 &2144232459 -Rigidbody: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2144232458} - serializedVersion: 4 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_CenterOfMass: {x: 0, y: 0, z: 0} - m_InertiaTensor: {x: 1, y: 1, z: 1} - m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ImplicitCom: 1 - m_ImplicitTensor: 1 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 126 - m_CollisionDetection: 0 ---- !u!114 &2144232460 -MonoBehaviour: - m_ObjectHideFlags: 17 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2144232458} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8672dcc90e16b0a489a41edf56e016f8, type: 3} - m_Name: - m_EditorClassIdentifier: - PrefabBehaviour: 0 - PrefabSourceAlignment: 4 - PrefabDestinationAlignment: 0 - Version: 1.1 - infiniteBrush: {fileID: 0} - Settings: 1025 - VertexChannels: 14 - ReceiveGI: 2 - MeshColliderCookingOptions: 14 - ShowGeneratedMeshes: 0 - DefaultPhysicsMaterial: {fileID: 13400000, guid: 0c5fdfb44d6f19646a41a0720fbf751a, type: 2} - exportType: 0 - originType: 0 - exportColliders: 0 - exportPath: - angleError: 1 - areaError: 1 - hardAngle: 60 - packMargin: 20 - scaleInLightmap: 1 - autoUVMaxDistance: 0.5 - autoUVMaxAngle: 89 - minimumChartSize: 4 ---- !u!4 &2144232461 -Transform: - m_ObjectHideFlags: 17 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2144232458} - serializedVersion: 2 - 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: 104999908} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2147359534 GameObject: m_ObjectHideFlags: 0 @@ -13514,6 +13648,22 @@ Transform: m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 3a57f57ae2418ac4d955ac7b76504ccf, type: 3} m_PrefabInstance: {fileID: 1190659014} m_PrefabAsset: {fileID: 0} +--- !u!114 &543450651951467716 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1207993549} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5be6243682755944f96e35acb8e628a9, type: 3} + m_Name: + m_EditorClassIdentifier: + data: {fileID: 11400000, guid: 56779d045bfaf414ea1e992d489a2763, type: 2} + canAttack: 1 + attackRange: 2.5 + attackDamage: 25 --- !u!4 &543450652691669578 stripped Transform: m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 421abe34365b9464b8f92fbbb911a1ff, type: 3} @@ -13548,4 +13698,4 @@ SceneRoots: - {fileID: 354420149} - {fileID: 1899092101} - {fileID: 1298502551} - - {fileID: 2144232461} + - {fileID: 215302729} diff --git a/Assets/_Scripts/Core/Game/Data/GameInput.cs b/Assets/_Scripts/Core/Game/Data/GameInput.cs index bca2ffab..6c15a42a 100644 --- a/Assets/_Scripts/Core/Game/Data/GameInput.cs +++ b/Assets/_Scripts/Core/Game/Data/GameInput.cs @@ -14,6 +14,7 @@ public class GameInput : MonoBehaviour [NonSerialized] public KeyCode sprintButton = KeyCode.LeftShift; [NonSerialized] public KeyCode inputToggleButton = KeyCode.LeftControl; [NonSerialized] public KeyCode aimToggleButton = KeyCode.E; + [NonSerialized] public KeyCode switchWeaponButton = KeyCode.G; // Constructor protected void Awake() diff --git a/CaseSensitiveTest b/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/Shotgun.cs similarity index 100% rename from CaseSensitiveTest rename to Assets/_Scripts/Core/Objects/Weapons/TestWeapon/Shotgun.cs diff --git a/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/Shotgun.cs.meta b/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/Shotgun.cs.meta new file mode 100644 index 00000000..30aa3938 --- /dev/null +++ b/Assets/_Scripts/Core/Objects/Weapons/TestWeapon/Shotgun.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0309cf2d5a9629a4faf26d77d6b8174e \ No newline at end of file diff --git a/Assets/_Scripts/Core/Player/Player.cs b/Assets/_Scripts/Core/Player/Player.cs index dcc42f46..a0437436 100644 --- a/Assets/_Scripts/Core/Player/Player.cs +++ b/Assets/_Scripts/Core/Player/Player.cs @@ -89,4 +89,41 @@ public class Player : PlayerEntity interactable.InvokeOnInteractAreaExitEvent(); stateController.currentInteractables.Remove(interactable); } + + // Switches to the next weapon in the list + public void SwitchWeapon() + { + if (WeaponList.Count == 0) + { + Debug.LogWarning("No weapons available."); + return; + } + + int currentIndex = WeaponList.IndexOf(Weapon); + int nextIndex = (currentIndex + 1) % WeaponList.Count; // Calculate the index of the next weapon + + EquipCurrWeapon(nextIndex); + Debug.Log("Weapon switch SwitchWeapon Player.cs"); + } + + + // Equip a weapon by index + public void EquipCurrWeapon(int index) + { + if (index >= 0 && index < WeaponList.Count) + { + WeaponObject newWeapon = WeaponList[index]; + Debug.Log($"Equipped weapon: {newWeapon.name}"); + if (Weapon != null) + { + Weapon.gameObject.SetActive(false); + } + newWeapon.gameObject.SetActive(true); + } + else + { + Debug.LogWarning($"Invalid weapon index: {index}"); + } + } + } diff --git a/Assets/_Scripts/Core/Player/PlayerInputController.cs b/Assets/_Scripts/Core/Player/PlayerInputController.cs index 5a859cad..493707ef 100644 --- a/Assets/_Scripts/Core/Player/PlayerInputController.cs +++ b/Assets/_Scripts/Core/Player/PlayerInputController.cs @@ -96,6 +96,11 @@ public class PlayerInputController IInteractable interactable = player.stateController.currentInteractables[player.stateController.currentInteractables.Count - 1]; interactable.Interact(); } + else if (Input.GetKeyDown(GameInput.Instance.switchWeaponButton)) + { + player.SwitchWeapon(); + Debug.Log("Weapon switch else if PlayerInputController.cs"); + } } private void HandleToggledInputs() @@ -116,5 +121,10 @@ public class PlayerInputController Debug.Log("Player is Deactivating a companion"); player.DeactivateCompanion(player.CompanionSelectorIndex); } + else if (Input.GetKeyDown(GameInput.Instance.switchWeaponButton)) + { + player.SwitchWeapon(); + Debug.Log("Weapon switch else if PlayerInputController.cs"); + } } } \ No newline at end of file -- GitLab