From 6e0802163ea53c74021d465fb0a54f7223d4e94c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C5=A0vec?= Date: Sat, 10 Aug 2024 17:46:57 +0200 Subject: [PATCH] Add damage system and processing system to enemy --- .../Config/Editor/ColorPaletteManager.asset | 136 ++++++ .../Editor/ColorPaletteManager.asset.meta | 8 + Assets/Prefabs/DebugCanvas.prefab | 4 +- Assets/Prefabs/Enemies/Enemy.prefab | 429 ++++++++++++++++++ Assets/Prefabs/Weapons.meta | 8 + .../Weapons/Arrow.prefab} | 143 ++++-- .../Weapons/Arrow.prefab.meta} | 0 Assets/Prefabs/Weapons/Bow.prefab | 70 +++ Assets/Prefabs/Weapons/Bow.prefab.meta | 7 + Assets/Scenes/Forge.unity | 197 +++++--- .../Components/DamageDealerComponent.cs | 10 + .../Components/DamageDealerComponent.cs.meta | 11 + .../Scripts/Components/DetectHitComponent.cs | 34 ++ .../Components/DetectHitComponent.cs.meta | 11 + .../Scripts/Components/ProcessHitComponent.cs | 24 + .../Components/ProcessHitComponent.cs.meta | 11 + Assets/Scripts/Components/RagdollComponent.cs | 19 +- Assets/Scripts/Data.meta | 8 + Assets/Scripts/Data/Damage.cs | 41 ++ Assets/Scripts/Data/Damage.cs.meta | 11 + Assets/Scripts/Events.meta | 8 + Assets/Scripts/Events/OnHitEvent.cs | 24 + Assets/Scripts/Events/OnHitEvent.cs.meta | 11 + ProjectSettings/ProjectSettings.asset | 2 + 24 files changed, 1112 insertions(+), 115 deletions(-) create mode 100644 Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset create mode 100644 Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset.meta create mode 100644 Assets/Prefabs/Weapons.meta rename Assets/{HurricaneVR/TechDemo/Assets/Interactables/Bow/DemoArrow.prefab => Prefabs/Weapons/Arrow.prefab} (91%) rename Assets/{HurricaneVR/TechDemo/Assets/Interactables/Bow/DemoArrow.prefab.meta => Prefabs/Weapons/Arrow.prefab.meta} (100%) create mode 100644 Assets/Prefabs/Weapons/Bow.prefab create mode 100644 Assets/Prefabs/Weapons/Bow.prefab.meta create mode 100644 Assets/Scripts/Components/DamageDealerComponent.cs create mode 100644 Assets/Scripts/Components/DamageDealerComponent.cs.meta create mode 100644 Assets/Scripts/Components/DetectHitComponent.cs create mode 100644 Assets/Scripts/Components/DetectHitComponent.cs.meta create mode 100644 Assets/Scripts/Components/ProcessHitComponent.cs create mode 100644 Assets/Scripts/Components/ProcessHitComponent.cs.meta create mode 100644 Assets/Scripts/Data.meta create mode 100644 Assets/Scripts/Data/Damage.cs create mode 100644 Assets/Scripts/Data/Damage.cs.meta create mode 100644 Assets/Scripts/Events.meta create mode 100644 Assets/Scripts/Events/OnHitEvent.cs create mode 100644 Assets/Scripts/Events/OnHitEvent.cs.meta diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset new file mode 100644 index 00000000..4393db14 --- /dev/null +++ b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 772478971, guid: a4865f1ab4504ed8a368670db22f409c, type: 3} + m_Name: ColorPaletteManager + m_EditorClassIdentifier: + colorPalettes: + - name: Country + showAlpha: 0 + colors: + - {r: 0.776, g: 0.651, b: 0.349, a: 1} + - {r: 0.863, g: 0.761, b: 0.631, a: 1} + - {r: 0.91, g: 0.831, b: 0.686, a: 1} + - {r: 0.961, g: 0.902, b: 0.788, a: 1} + - {r: 0.753, g: 0.714, b: 0.667, a: 1} + - {r: 0.478, g: 0.573, b: 0.431, a: 1} + - {r: 0.314, g: 0.427, b: 0.31, a: 1} + - {r: 0.596, g: 0.345, b: 0.235, a: 1} + - {r: 0.545, g: 0.329, b: 0.318, a: 1} + - {r: 0.647, g: 0.204, b: 0.227, a: 1} + - {r: 0.435, g: 0.161, b: 0.063, a: 1} + - {r: 0.357, g: 0.333, b: 0.278, a: 1} + - {r: 0.976, g: 0.98, b: 0.961, a: 1} + - {r: 0.165, g: 0.271, b: 0.11, a: 1} + - name: Beach + showAlpha: 0 + colors: + - {r: 0.996, g: 0.906, b: 0.459, a: 1} + - {r: 0.314, g: 0.592, b: 0.035, a: 1} + - {r: 0.486, g: 0.953, b: 0.875, a: 1} + - {r: 0.996, g: 0.82, b: 0.212, a: 1} + - {r: 1, g: 0.769, b: 0.165, a: 1} + - {r: 0.804, g: 0.835, b: 0.753, a: 1} + - {r: 1, g: 0.769, b: 0.165, a: 1} + - {r: 1, g: 0.702, b: 0.063, a: 1} + - {r: 1, g: 0.898, b: 0.569, a: 1} + - name: Fall + showAlpha: 0 + colors: + - {r: 0.82, g: 0.722, b: 0.318, a: 1} + - {r: 0.537, g: 0.192, b: 0.153, a: 1} + - {r: 0.996, g: 0.812, b: 0.012, a: 1} + - {r: 1, g: 0.431, b: 0.02, a: 1} + - {r: 0.937, g: 0.267, b: 0.094, a: 1} + - {r: 0.42, g: 0.212, b: 0.18, a: 1} + - {r: 0.992, g: 0.651, b: 0.004, a: 1} + - {r: 0.89, g: 0.353, b: 0.086, a: 1} + - {r: 1, g: 0.443, b: 0.004, a: 1} + - {r: 0.682, g: 0.275, b: 0.137, a: 1} + - {r: 0.306, g: 0.231, b: 0.114, a: 1} + - {r: 0.384, g: 0.416, b: 0.082, a: 1} + - {r: 0.165, g: 0.157, b: 0.008, a: 1} + - {r: 0.906, g: 0.635, b: 0.227, a: 1} + - {r: 0.82, g: 0.722, b: 0.318, a: 1} + - {r: 0.745, g: 0.435, b: 0.031, a: 1} + - {r: 0.765, g: 0.682, b: 0.569, a: 1} + - {r: 0.18, g: 0.149, b: 0.075, a: 1} + - {r: 0.702, g: 0.451, b: 0.059, a: 1} + - name: Passion + showAlpha: 0 + colors: + - {r: 0.925, g: 0.682, b: 0.624, a: 1} + - {r: 0.188, g: 0.114, b: 0.224, a: 1} + - {r: 0.349, g: 0.11, b: 0.231, a: 1} + - {r: 0.435, g: 0.267, b: 0.357, a: 1} + - name: Sepia + showAlpha: 0 + colors: + - {r: 0.353, g: 0.098, b: 0.02, a: 1} + - {r: 0.663, g: 0.188, b: 0.114, a: 1} + - {r: 0.906, g: 0.643, b: 0.082, a: 1} + - {r: 0.996, g: 0.839, b: 0.322, a: 1} + - {r: 0.486, g: 0.392, b: 0.02, a: 1} + - {r: 0.294, g: 0.235, b: 0.012, a: 1} + - name: Floral + showAlpha: 0 + colors: + - {r: 0.855, g: 0.518, b: 0.412, a: 1} + - {r: 0.827, g: 0.294, b: 0.333, a: 1} + - {r: 0.737, g: 0.118, b: 0.208, a: 1} + - {r: 0.549, g: 0.149, b: 0.235, a: 1} + - {r: 0.949, g: 0.925, b: 0.784, a: 1} + - {r: 0.945, g: 0.882, b: 0.69, a: 1} + - {r: 0.871, g: 0.812, b: 0.698, a: 1} + - {r: 0.4, g: 0.196, b: 0.243, a: 1} + - {r: 0.271, g: 0.157, b: 0.227, a: 1} + - name: Underwater + showAlpha: 0 + colors: + - {r: 0.663, g: 0.416, b: 0.733, a: 1} + - {r: 0.2, g: 0.6, b: 0.698, a: 1} + - {r: 0.11, g: 0.49, b: 0.698, a: 1} + - {r: 0.439, g: 0.627, b: 0.227, a: 1} + - {r: 0, g: 0.357, b: 0.604, a: 1} + - {r: 0.067, g: 0.271, b: 0.353, a: 1} + - name: Breeze + showAlpha: 0 + colors: + - {r: 0.706, g: 1, b: 0, a: 1} + - {r: 0.651, g: 1, b: 0.404, a: 1} + - {r: 0.122, g: 1, b: 0.514, a: 1} + - {r: 0.216, g: 0.894, b: 0.961, a: 1} + - {r: 0.4, g: 1, b: 0.882, a: 1} + - {r: 0.027, g: 0.792, b: 0.8, a: 1} + - name: Clovers + showAlpha: 0 + colors: + - {r: 0.431, g: 0.549, b: 0.102, a: 1} + - {r: 0.671, g: 0.714, b: 0.071, a: 1} + - {r: 0.969, g: 0.949, b: 0.831, a: 1} + - {r: 0.886, g: 0.902, b: 0.702, a: 1} + - {r: 0.753, g: 0.824, b: 0.627, a: 1} + - {r: 0.404, g: 0.6, b: 0.4, a: 1} + - name: Tropical + showAlpha: 0 + colors: + - {r: 0.953, g: 0.647, b: 0.804, a: 1} + - {r: 0.965, g: 0.741, b: 0.871, a: 1} + - {r: 0.949, g: 0.549, b: 0.643, a: 1} + - {r: 0.992, g: 0.659, b: 0.498, a: 1} + - {r: 0.976, g: 0.792, b: 0.729, a: 1} + - {r: 0.984, g: 0.855, b: 0.725, a: 1} + - {r: 0.259, g: 0.882, b: 0.663, a: 1} + - {r: 0.349, g: 0.753, b: 0.78, a: 1} + - {r: 0.725, g: 0.976, b: 0.91, a: 1} + - {r: 0.647, g: 0.745, b: 0.957, a: 1} + - {r: 0.725, g: 0.863, b: 0.973, a: 1} + - {r: 0.89, g: 0.945, b: 0.996, a: 1} diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset.meta b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset.meta new file mode 100644 index 00000000..5a4c269b --- /dev/null +++ b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ad9b6209b902634479334b71e8b3d2f5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/DebugCanvas.prefab b/Assets/Prefabs/DebugCanvas.prefab index 59e81b25..3579045b 100644 --- a/Assets/Prefabs/DebugCanvas.prefab +++ b/Assets/Prefabs/DebugCanvas.prefab @@ -162,7 +162,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 0 + m_PresetInfoIsWorld: 1 --- !u!114 &7869873828630244102 MonoBehaviour: m_ObjectHideFlags: 0 @@ -179,7 +179,7 @@ MonoBehaviour: m_BlockingObjects: 0 m_BlockingMask: serializedVersion: 2 - m_Bits: 4294967295 + m_Bits: 3146551 --- !u!114 &6247705301137206032 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/Enemies/Enemy.prefab b/Assets/Prefabs/Enemies/Enemy.prefab index 0708221b..6870fd7b 100644 --- a/Assets/Prefabs/Enemies/Enemy.prefab +++ b/Assets/Prefabs/Enemies/Enemy.prefab @@ -11,6 +11,7 @@ GameObject: - component: {fileID: 6058054806151542978} - component: {fileID: 2957099991542780378} - component: {fileID: 5199431160857003883} + - component: {fileID: 3716950706550494605} m_Layer: 0 m_Name: Enemy m_TagString: Untagged @@ -75,6 +76,18 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 90e2fe62ce2b65f4092a35e879751f60, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!114 &3716950706550494605 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4528139036750849664} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 647cabad96a59654cb4718c0bdf2ddd5, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1695861871456640983 PrefabInstance: m_ObjectHideFlags: 0 @@ -181,6 +194,10 @@ PrefabInstance: type: 3} insertIndex: -1 addedObject: {fileID: 7554065152057482424} + - targetCorrespondingSourceObject: {fileID: 1786365706177620, guid: cb4ff29f6f657bc4d94ed49c50a70be2, + type: 3} + insertIndex: -1 + addedObject: {fileID: 3713990680034432977} - targetCorrespondingSourceObject: {fileID: 1315229161845100, guid: cb4ff29f6f657bc4d94ed49c50a70be2, type: 3} insertIndex: -1 @@ -197,6 +214,10 @@ PrefabInstance: type: 3} insertIndex: -1 addedObject: {fileID: 8707991472977889411} + - targetCorrespondingSourceObject: {fileID: 1315229161845100, guid: cb4ff29f6f657bc4d94ed49c50a70be2, + type: 3} + insertIndex: -1 + addedObject: {fileID: 1660507132086081825} - targetCorrespondingSourceObject: {fileID: 1329372268498592, guid: cb4ff29f6f657bc4d94ed49c50a70be2, type: 3} insertIndex: -1 @@ -213,6 +234,10 @@ PrefabInstance: type: 3} insertIndex: -1 addedObject: {fileID: 1941591647665236015} + - targetCorrespondingSourceObject: {fileID: 1329372268498592, guid: cb4ff29f6f657bc4d94ed49c50a70be2, + type: 3} + insertIndex: -1 + addedObject: {fileID: 4387720826427188810} - targetCorrespondingSourceObject: {fileID: 1416383837430126, guid: cb4ff29f6f657bc4d94ed49c50a70be2, type: 3} insertIndex: -1 @@ -229,6 +254,10 @@ PrefabInstance: type: 3} insertIndex: -1 addedObject: {fileID: 5929876074138963971} + - targetCorrespondingSourceObject: {fileID: 1416383837430126, guid: cb4ff29f6f657bc4d94ed49c50a70be2, + type: 3} + insertIndex: -1 + addedObject: {fileID: 9039594081372368690} - targetCorrespondingSourceObject: {fileID: 1404416566009352, guid: cb4ff29f6f657bc4d94ed49c50a70be2, type: 3} insertIndex: -1 @@ -245,6 +274,10 @@ PrefabInstance: type: 3} insertIndex: -1 addedObject: {fileID: 6305727912184257213} + - targetCorrespondingSourceObject: {fileID: 1404416566009352, guid: cb4ff29f6f657bc4d94ed49c50a70be2, + type: 3} + insertIndex: -1 + addedObject: {fileID: 5445018831760235529} - targetCorrespondingSourceObject: {fileID: 1270097097850242, guid: cb4ff29f6f657bc4d94ed49c50a70be2, type: 3} insertIndex: -1 @@ -261,6 +294,10 @@ PrefabInstance: type: 3} insertIndex: -1 addedObject: {fileID: 2234626690996067412} + - targetCorrespondingSourceObject: {fileID: 1270097097850242, guid: cb4ff29f6f657bc4d94ed49c50a70be2, + type: 3} + insertIndex: -1 + addedObject: {fileID: 3152563028627769578} - targetCorrespondingSourceObject: {fileID: 1330874477731552, guid: cb4ff29f6f657bc4d94ed49c50a70be2, type: 3} insertIndex: -1 @@ -277,6 +314,10 @@ PrefabInstance: type: 3} insertIndex: -1 addedObject: {fileID: 3953310673585834226} + - targetCorrespondingSourceObject: {fileID: 1330874477731552, guid: cb4ff29f6f657bc4d94ed49c50a70be2, + type: 3} + insertIndex: -1 + addedObject: {fileID: 5945536759419995555} - targetCorrespondingSourceObject: {fileID: 1701701163534042, guid: cb4ff29f6f657bc4d94ed49c50a70be2, type: 3} insertIndex: -1 @@ -293,6 +334,10 @@ PrefabInstance: type: 3} insertIndex: -1 addedObject: {fileID: 5995468184695267307} + - targetCorrespondingSourceObject: {fileID: 1701701163534042, guid: cb4ff29f6f657bc4d94ed49c50a70be2, + type: 3} + insertIndex: -1 + addedObject: {fileID: 4220350226758801803} - targetCorrespondingSourceObject: {fileID: 1622885717028960, guid: cb4ff29f6f657bc4d94ed49c50a70be2, type: 3} insertIndex: -1 @@ -309,6 +354,10 @@ PrefabInstance: type: 3} insertIndex: -1 addedObject: {fileID: 1002846178706988084} + - targetCorrespondingSourceObject: {fileID: 1622885717028960, guid: cb4ff29f6f657bc4d94ed49c50a70be2, + type: 3} + insertIndex: -1 + addedObject: {fileID: 8765666966629587363} - targetCorrespondingSourceObject: {fileID: 1305619813215142, guid: cb4ff29f6f657bc4d94ed49c50a70be2, type: 3} insertIndex: -1 @@ -325,6 +374,10 @@ PrefabInstance: type: 3} insertIndex: -1 addedObject: {fileID: 5852658106408023342} + - targetCorrespondingSourceObject: {fileID: 1305619813215142, guid: cb4ff29f6f657bc4d94ed49c50a70be2, + type: 3} + insertIndex: -1 + addedObject: {fileID: 5936570905314806478} - targetCorrespondingSourceObject: {fileID: 1886592203153602, guid: cb4ff29f6f657bc4d94ed49c50a70be2, type: 3} insertIndex: -1 @@ -341,6 +394,10 @@ PrefabInstance: type: 3} insertIndex: -1 addedObject: {fileID: 510152245200899910} + - targetCorrespondingSourceObject: {fileID: 1886592203153602, guid: cb4ff29f6f657bc4d94ed49c50a70be2, + type: 3} + insertIndex: -1 + addedObject: {fileID: 3313350454086135475} - targetCorrespondingSourceObject: {fileID: 1235993377340142, guid: cb4ff29f6f657bc4d94ed49c50a70be2, type: 3} insertIndex: -1 @@ -357,6 +414,10 @@ PrefabInstance: type: 3} insertIndex: -1 addedObject: {fileID: 8769072892296617858} + - targetCorrespondingSourceObject: {fileID: 1235993377340142, guid: cb4ff29f6f657bc4d94ed49c50a70be2, + type: 3} + insertIndex: -1 + addedObject: {fileID: 2735727666513910939} - targetCorrespondingSourceObject: {fileID: 1284329951454792, guid: cb4ff29f6f657bc4d94ed49c50a70be2, type: 3} insertIndex: -1 @@ -373,6 +434,10 @@ PrefabInstance: type: 3} insertIndex: -1 addedObject: {fileID: 7764618273486423460} + - targetCorrespondingSourceObject: {fileID: 1284329951454792, guid: cb4ff29f6f657bc4d94ed49c50a70be2, + type: 3} + insertIndex: -1 + addedObject: {fileID: 170554867525468977} m_SourcePrefab: {fileID: 100100000, guid: cb4ff29f6f657bc4d94ed49c50a70be2, type: 3} --- !u!1 &1696753339406336479 stripped GameObject: @@ -500,6 +565,34 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] Stabbers: [] +--- !u!114 &5445018831760235529 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696753339406336479} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68d87505d90e702488bf2538540f835c, type: 3} + m_Name: + m_EditorClassIdentifier: + hitMultiplier: 1 + onHit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3716950706550494605} + m_TargetAssemblyTypeName: ProcessHitComponent, Assembly-CSharp + m_MethodName: Process + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1696807381099359931 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1315229161845100, guid: cb4ff29f6f657bc4d94ed49c50a70be2, @@ -624,6 +717,34 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] Stabbers: [] +--- !u!114 &1660507132086081825 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696807381099359931} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68d87505d90e702488bf2538540f835c, type: 3} + m_Name: + m_EditorClassIdentifier: + hitMultiplier: 1 + onHit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3716950706550494605} + m_TargetAssemblyTypeName: ProcessHitComponent, Assembly-CSharp + m_MethodName: Process + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1696812623756063857 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1305619813215142, guid: cb4ff29f6f657bc4d94ed49c50a70be2, @@ -750,6 +871,34 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] Stabbers: [] +--- !u!114 &5936570905314806478 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696812623756063857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68d87505d90e702488bf2538540f835c, type: 3} + m_Name: + m_EditorClassIdentifier: + hitMultiplier: 1 + onHit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3716950706550494605} + m_TargetAssemblyTypeName: ProcessHitComponent, Assembly-CSharp + m_MethodName: Process + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1696819591069290871 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1329372268498592, guid: cb4ff29f6f657bc4d94ed49c50a70be2, @@ -876,6 +1025,34 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] Stabbers: [] +--- !u!114 &4387720826427188810 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696819591069290871} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68d87505d90e702488bf2538540f835c, type: 3} + m_Name: + m_EditorClassIdentifier: + hitMultiplier: 1 + onHit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3716950706550494605} + m_TargetAssemblyTypeName: ProcessHitComponent, Assembly-CSharp + m_MethodName: Process + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1696822484712620343 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1330874477731552, guid: cb4ff29f6f657bc4d94ed49c50a70be2, @@ -1000,6 +1177,34 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] Stabbers: [] +--- !u!114 &5945536759419995555 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696822484712620343} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68d87505d90e702488bf2538540f835c, type: 3} + m_Name: + m_EditorClassIdentifier: + hitMultiplier: 2 + onHit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3716950706550494605} + m_TargetAssemblyTypeName: ProcessHitComponent, Assembly-CSharp + m_MethodName: Process + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1696848010942980693 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1270097097850242, guid: cb4ff29f6f657bc4d94ed49c50a70be2, @@ -1126,6 +1331,34 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] Stabbers: [] +--- !u!114 &3152563028627769578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696848010942980693} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68d87505d90e702488bf2538540f835c, type: 3} + m_Name: + m_EditorClassIdentifier: + hitMultiplier: 1 + onHit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3716950706550494605} + m_TargetAssemblyTypeName: ProcessHitComponent, Assembly-CSharp + m_MethodName: Process + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1696864699989801375 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1284329951454792, guid: cb4ff29f6f657bc4d94ed49c50a70be2, @@ -1252,6 +1485,34 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] Stabbers: [] +--- !u!114 &170554867525468977 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696864699989801375} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68d87505d90e702488bf2538540f835c, type: 3} + m_Name: + m_EditorClassIdentifier: + hitMultiplier: 1 + onHit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3716950706550494605} + m_TargetAssemblyTypeName: ProcessHitComponent, Assembly-CSharp + m_MethodName: Process + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1696886475133429049 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1235993377340142, guid: cb4ff29f6f657bc4d94ed49c50a70be2, @@ -1378,6 +1639,34 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] Stabbers: [] +--- !u!114 &2735727666513910939 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696886475133429049} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68d87505d90e702488bf2538540f835c, type: 3} + m_Name: + m_EditorClassIdentifier: + hitMultiplier: 1 + onHit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3716950706550494605} + m_TargetAssemblyTypeName: ProcessHitComponent, Assembly-CSharp + m_MethodName: Process + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1697062535982870455 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1622885717028960, guid: cb4ff29f6f657bc4d94ed49c50a70be2, @@ -1504,6 +1793,34 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] Stabbers: [] +--- !u!114 &8765666966629587363 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1697062535982870455} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68d87505d90e702488bf2538540f835c, type: 3} + m_Name: + m_EditorClassIdentifier: + hitMultiplier: 1 + onHit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3716950706550494605} + m_TargetAssemblyTypeName: ProcessHitComponent, Assembly-CSharp + m_MethodName: Process + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1697260379495972537 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1416383837430126, guid: cb4ff29f6f657bc4d94ed49c50a70be2, @@ -1630,6 +1947,34 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] Stabbers: [] +--- !u!114 &9039594081372368690 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1697260379495972537} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68d87505d90e702488bf2538540f835c, type: 3} + m_Name: + m_EditorClassIdentifier: + hitMultiplier: 1 + onHit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3716950706550494605} + m_TargetAssemblyTypeName: ProcessHitComponent, Assembly-CSharp + m_MethodName: Process + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1697393870621884181 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1886592203153602, guid: cb4ff29f6f657bc4d94ed49c50a70be2, @@ -1756,6 +2101,34 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] Stabbers: [] +--- !u!114 &3313350454086135475 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1697393870621884181} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68d87505d90e702488bf2538540f835c, type: 3} + m_Name: + m_EditorClassIdentifier: + hitMultiplier: 1 + onHit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3716950706550494605} + m_TargetAssemblyTypeName: ProcessHitComponent, Assembly-CSharp + m_MethodName: Process + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1697489632466719619 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1786365706177620, guid: cb4ff29f6f657bc4d94ed49c50a70be2, @@ -1834,6 +2207,34 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] Stabbers: [] +--- !u!114 &3713990680034432977 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1697489632466719619} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68d87505d90e702488bf2538540f835c, type: 3} + m_Name: + m_EditorClassIdentifier: + hitMultiplier: 1 + onHit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3716950706550494605} + m_TargetAssemblyTypeName: ProcessHitComponent, Assembly-CSharp + m_MethodName: Process + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &1697543506388621581 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1701701163534042, guid: cb4ff29f6f657bc4d94ed49c50a70be2, @@ -1960,6 +2361,34 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] Stabbers: [] +--- !u!114 &4220350226758801803 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1697543506388621581} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68d87505d90e702488bf2538540f835c, type: 3} + m_Name: + m_EditorClassIdentifier: + hitMultiplier: 1 + onHit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3716950706550494605} + m_TargetAssemblyTypeName: ProcessHitComponent, Assembly-CSharp + m_MethodName: Process + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!4 &1700549123680942451 stripped Transform: m_CorrespondingSourceObject: {fileID: 4918150346303140, guid: cb4ff29f6f657bc4d94ed49c50a70be2, diff --git a/Assets/Prefabs/Weapons.meta b/Assets/Prefabs/Weapons.meta new file mode 100644 index 00000000..1d3b1192 --- /dev/null +++ b/Assets/Prefabs/Weapons.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3caa8ad35a108b746a9b0d5c37e5033a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/HurricaneVR/TechDemo/Assets/Interactables/Bow/DemoArrow.prefab b/Assets/Prefabs/Weapons/Arrow.prefab similarity index 91% rename from Assets/HurricaneVR/TechDemo/Assets/Interactables/Bow/DemoArrow.prefab rename to Assets/Prefabs/Weapons/Arrow.prefab index 385f5b10..c2ab8a87 100644 --- a/Assets/HurricaneVR/TechDemo/Assets/Interactables/Bow/DemoArrow.prefab +++ b/Assets/Prefabs/Weapons/Arrow.prefab @@ -23,13 +23,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 137352117950882467} + serializedVersion: 2 m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -0, y: 0, z: 0.296} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 206072222356425025} m_Father: {fileID: 6770214079390314357} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &663425825793793700 GameObject: @@ -54,12 +55,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 663425825793793700} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0.142} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 6770214079390364125} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &716111276753049723 GameObject: @@ -84,12 +86,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 716111276753049723} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0.7194} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 6770214079390364125} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2517601443870380854 GameObject: @@ -116,12 +119,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2517601443870380854} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0.437} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 6770214079390364125} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &4542124881925788678 BoxCollider: @@ -131,9 +135,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2517601443870380854} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 1 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 0.01, y: 0.01, z: 0.33329862} m_Center: {x: 0, y: 0, z: 0.054638326} --- !u!114 &3942863569591616895 @@ -159,7 +171,7 @@ MonoBehaviour: PoseImmediately: 0 ParentHandModel: 1 BreakDistance: 1 - RemainsKinematic: 1 + BreakDistanceSource: 0 Stationary: 0 ReleasedAngularConversionFactor: 1 ReleasedVelocityFactor: 1 @@ -172,13 +184,10 @@ MonoBehaviour: ForceGrabbable: 1 ForcePullOverride: {fileID: 0} JointOverride: {fileID: 0} - OneHandJointSettings: {fileID: 0} - TwoHandJointSettings: {fileID: 0} + OneHandStrength: {fileID: 0} + TwoHandStrength: {fileID: 0} PullingSettingsOverride: {fileID: 0} - PalmCenterOfMass: 0 HandGrabbedClip: {fileID: 0} - StartingSocket: {fileID: 0} - LinkStartingSocket: 0 SocketGrabPoints: [] Rigidbody: {fileID: 0} AutoApplyLayer: 1 @@ -199,6 +208,10 @@ MonoBehaviour: PhysicsPoserFallback: 1 OverrideMaxDistanceBehaviour: 0 MaxDistanceBehaviour: 0 + OneHandJointSettings: {fileID: 0} + TwoHandJointSettings: {fileID: 0} + StartingSocket: {fileID: 0} + LinkStartingSocket: 0 ShowBoundingBox: 0 DrawCenterOfMass: 0 GrabPoints: [] @@ -241,6 +254,12 @@ MonoBehaviour: UnSocketed: m_PersistentCalls: m_Calls: [] + DistanceGrabbed: + m_PersistentCalls: + m_Calls: [] + DistanceReleased: + m_PersistentCalls: + m_Calls: [] GrabPointsMeta: [] Grabbers: [] HandGrabbers: [] @@ -271,14 +290,15 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4577983985632531574} + 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: 4577983986898937346} - {fileID: 1927872679532777810} m_Father: {fileID: 6770214079390364125} - m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &4577983985632531576 MonoBehaviour: @@ -317,12 +337,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4577983986898937345} + 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: 4577983985632531575} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &4577983986898937348 MonoBehaviour: @@ -367,7 +388,6 @@ MonoBehaviour: RingStart: 0 PinkyStart: 0 Blends: [] - ReferencePose: {fileID: 0} MirrorAxis: 0 --- !u!114 &4577983986898937347 MonoBehaviour: @@ -432,14 +452,15 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6770214079390585917} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0.70710665, w: 0.70710695} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 9022137328017313333} - {fileID: 769035449131628569} m_Father: {fileID: 6770214079390364125} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &6770214079390613489 GameObject: @@ -457,8 +478,9 @@ GameObject: - component: {fileID: 7249371662223983649} - component: {fileID: 2166972318877468885} - component: {fileID: 4971024699136967728} + - component: {fileID: 6894514517479684095} m_Layer: 0 - m_Name: DemoArrow + m_Name: Arrow m_TagString: projectile m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -471,9 +493,11 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6770214079390613489} + serializedVersion: 2 m_LocalRotation: {x: -0, y: 0.7071059, z: -0.00000011520219, w: 0.7071078} m_LocalPosition: {x: -0.433, y: 1.047, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 6770214079390314357} - {fileID: 439018464933828401} @@ -481,7 +505,6 @@ Transform: - {fileID: 8128219890104325064} - {fileID: 4577983985632531575} m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 90.00001, z: 0} --- !u!65 &6770214079384180713 BoxCollider: @@ -491,9 +514,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6770214079390613489} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 0.01, y: 0.01, z: 0.69965416} m_Center: {x: 0, y: 0, z: 0.34982708} --- !u!54 &6770214079387453789 @@ -503,10 +534,21 @@ Rigidbody: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6770214079390613489} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 0.3 m_Drag: 0.5 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: 1 m_IsKinematic: 0 m_Interpolate: 0 @@ -548,7 +590,7 @@ MonoBehaviour: PoseImmediately: 0 ParentHandModel: 0 BreakDistance: 1 - RemainsKinematic: 1 + BreakDistanceSource: 0 Stationary: 0 ReleasedAngularConversionFactor: 1 ReleasedVelocityFactor: 1 @@ -561,13 +603,10 @@ MonoBehaviour: ForceGrabbable: 1 ForcePullOverride: {fileID: 0} JointOverride: {fileID: 0} - OneHandJointSettings: {fileID: 0} - TwoHandJointSettings: {fileID: 0} + OneHandStrength: {fileID: 0} + TwoHandStrength: {fileID: 0} PullingSettingsOverride: {fileID: 0} - PalmCenterOfMass: 0 HandGrabbedClip: {fileID: 0} - StartingSocket: {fileID: 0} - LinkStartingSocket: 0 SocketGrabPoints: [] Rigidbody: {fileID: 0} AutoApplyLayer: 1 @@ -588,6 +627,10 @@ MonoBehaviour: PhysicsPoserFallback: 1 OverrideMaxDistanceBehaviour: 0 MaxDistanceBehaviour: 0 + OneHandJointSettings: {fileID: 0} + TwoHandJointSettings: {fileID: 0} + StartingSocket: {fileID: 0} + LinkStartingSocket: 0 ShowBoundingBox: 0 DrawCenterOfMass: 0 GrabPoints: [] @@ -630,6 +673,12 @@ MonoBehaviour: UnSocketed: m_PersistentCalls: m_Calls: [] + DistanceGrabbed: + m_PersistentCalls: + m_Calls: [] + DistanceReleased: + m_PersistentCalls: + m_Calls: [] GrabPointsMeta: [] Grabbers: [] HandGrabbers: [] @@ -647,13 +696,16 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 782b616f680d4ed0a890789e57800e0e, type: 3} m_Name: m_EditorClassIdentifier: - SocketOrientation: {fileID: 0} - SocketScale: 1 + Poses: [] CounterScale: {x: 1, y: 1, z: 1} + UseRendererBounds: 1 + ScaleSize: 0 + SocketScale: 1 ScaleOverride: {fileID: 0} SocketedClip: {fileID: 0} UnsocketedClip: {fileID: 0} LinkedGrabbables: [] + SocketOrientation: {fileID: 0} SocketType: arrow --- !u!114 &2166972318877468885 MonoBehaviour: @@ -717,6 +769,20 @@ MonoBehaviour: Data: {fileID: 0} Force: 0 Grabbable: {fileID: 0} +--- !u!114 &6894514517479684095 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6770214079390613489} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e319f0156710fae4b86f831b853bc104, type: 3} + m_Name: + m_EditorClassIdentifier: + damage: + value: 50 --- !u!1 &7421629758791923788 GameObject: m_ObjectHideFlags: 0 @@ -741,12 +807,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7421629758791923788} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0.669} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 6770214079390314357} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &7146030337710155381 BoxCollider: @@ -756,9 +823,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7421629758791923788} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 0.01, y: 0.0057902336, z: 0.038813476} m_Center: {x: -8.80669e-12, y: -0.00008606154, z: 0.014406739} --- !u!1 &7828071410084714055 @@ -786,12 +861,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7828071410084714055} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0.448} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4577983985632531575} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &7325491320290368744 MonoBehaviour: @@ -836,7 +912,6 @@ MonoBehaviour: RingStart: 0 PinkyStart: 0 Blends: [] - ReferencePose: {fileID: 0} MirrorAxis: 2 --- !u!114 &8773156974043664989 MonoBehaviour: @@ -903,12 +978,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8965033972975229562} + 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: 769035449131628569} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &3029570993619431435 MeshFilter: @@ -929,10 +1005,12 @@ MeshRenderer: 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_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -957,3 +1035,4 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Assets/HurricaneVR/TechDemo/Assets/Interactables/Bow/DemoArrow.prefab.meta b/Assets/Prefabs/Weapons/Arrow.prefab.meta similarity index 100% rename from Assets/HurricaneVR/TechDemo/Assets/Interactables/Bow/DemoArrow.prefab.meta rename to Assets/Prefabs/Weapons/Arrow.prefab.meta diff --git a/Assets/Prefabs/Weapons/Bow.prefab b/Assets/Prefabs/Weapons/Bow.prefab new file mode 100644 index 00000000..725a0186 --- /dev/null +++ b/Assets/Prefabs/Weapons/Bow.prefab @@ -0,0 +1,70 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &2970810057200869876 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2232781439442655954, guid: 26b564e70a02d9145a8c06aafeda673c, + type: 3} + propertyPath: m_Name + value: Bow_AutoLoad Variant + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 26b564e70a02d9145a8c06aafeda673c, type: 3} diff --git a/Assets/Prefabs/Weapons/Bow.prefab.meta b/Assets/Prefabs/Weapons/Bow.prefab.meta new file mode 100644 index 00000000..c787ceeb --- /dev/null +++ b/Assets/Prefabs/Weapons/Bow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ebf2e89a781c1d64a99c26f62cfaecf4 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Forge.unity b/Assets/Scenes/Forge.unity index 26242492..a1bae10c 100644 --- a/Assets/Scenes/Forge.unity +++ b/Assets/Scenes/Forge.unity @@ -126650,84 +126650,11 @@ Transform: type: 3} m_PrefabInstance: {fileID: 2125171707} m_PrefabAsset: {fileID: 0} ---- !u!1001 &2125923119 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 112775804} - m_Modifications: - - target: {fileID: 1314214578852046776, guid: 26b564e70a02d9145a8c06aafeda673c, - type: 3} - propertyPath: StartingSocket - value: - objectReference: {fileID: 112775803} - - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2232781439442655954, guid: 26b564e70a02d9145a8c06aafeda673c, - type: 3} - propertyPath: m_Name - value: Bow_AutoLoad - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 26b564e70a02d9145a8c06aafeda673c, type: 3} --- !u!4 &2125923120 stripped Transform: - m_CorrespondingSourceObject: {fileID: 1564928642945957992, guid: 26b564e70a02d9145a8c06aafeda673c, + m_CorrespondingSourceObject: {fileID: 4363370452676862364, guid: ebf2e89a781c1d64a99c26f62cfaecf4, type: 3} - m_PrefabInstance: {fileID: 2125923119} + m_PrefabInstance: {fileID: 5017960930351480744} m_PrefabAsset: {fileID: 0} --- !u!1001 &2127467558 PrefabInstance: @@ -128189,6 +128116,79 @@ Transform: type: 3} m_PrefabInstance: {fileID: 2147288652} m_PrefabAsset: {fileID: 0} +--- !u!1001 &5017960930351480744 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 112775804} + m_Modifications: + - target: {fileID: 4018933675189943078, guid: ebf2e89a781c1d64a99c26f62cfaecf4, + type: 3} + propertyPath: m_Name + value: Bow_AutoLoad + objectReference: {fileID: 0} + - target: {fileID: 4253499436174411340, guid: ebf2e89a781c1d64a99c26f62cfaecf4, + type: 3} + propertyPath: StartingSocket + value: + objectReference: {fileID: 112775803} + - target: {fileID: 4363370452676862364, guid: ebf2e89a781c1d64a99c26f62cfaecf4, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4363370452676862364, guid: ebf2e89a781c1d64a99c26f62cfaecf4, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4363370452676862364, guid: ebf2e89a781c1d64a99c26f62cfaecf4, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4363370452676862364, guid: ebf2e89a781c1d64a99c26f62cfaecf4, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4363370452676862364, guid: ebf2e89a781c1d64a99c26f62cfaecf4, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4363370452676862364, guid: ebf2e89a781c1d64a99c26f62cfaecf4, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4363370452676862364, guid: ebf2e89a781c1d64a99c26f62cfaecf4, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4363370452676862364, guid: ebf2e89a781c1d64a99c26f62cfaecf4, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4363370452676862364, guid: ebf2e89a781c1d64a99c26f62cfaecf4, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4363370452676862364, guid: ebf2e89a781c1d64a99c26f62cfaecf4, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: ebf2e89a781c1d64a99c26f62cfaecf4, type: 3} --- !u!1001 &8713033016224012383 PrefabInstance: m_ObjectHideFlags: 0 @@ -128197,6 +128197,41 @@ PrefabInstance: serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: 3716950706550494605, guid: 34fa8d30155a6054680ec367434ae05f, + type: 3} + propertyPath: onTakeDamage.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3716950706550494605, guid: 34fa8d30155a6054680ec367434ae05f, + type: 3} + propertyPath: onTakeDamage.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3716950706550494605, guid: 34fa8d30155a6054680ec367434ae05f, + type: 3} + propertyPath: onTakeDamage.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 8713033016224012384} + - target: {fileID: 3716950706550494605, guid: 34fa8d30155a6054680ec367434ae05f, + type: 3} + propertyPath: onTakeDamage.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 3716950706550494605, guid: 34fa8d30155a6054680ec367434ae05f, + type: 3} + propertyPath: onTakeDamage.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: TakeDamage + objectReference: {fileID: 0} + - target: {fileID: 3716950706550494605, guid: 34fa8d30155a6054680ec367434ae05f, + type: 3} + propertyPath: onTakeDamage.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: HealthComponent, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 3716950706550494605, guid: 34fa8d30155a6054680ec367434ae05f, + type: 3} + propertyPath: onTakeDamage.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} - target: {fileID: 4528139036750849664, guid: 34fa8d30155a6054680ec367434ae05f, type: 3} propertyPath: m_Name @@ -128257,6 +128292,18 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 34fa8d30155a6054680ec367434ae05f, type: 3} +--- !u!114 &8713033016224012384 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 2957099991542780378, guid: 34fa8d30155a6054680ec367434ae05f, + type: 3} + m_PrefabInstance: {fileID: 8713033016224012383} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5272ea2f30f4ddb488b557c786c790fa, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Components/DamageDealerComponent.cs b/Assets/Scripts/Components/DamageDealerComponent.cs new file mode 100644 index 00000000..13cf5a85 --- /dev/null +++ b/Assets/Scripts/Components/DamageDealerComponent.cs @@ -0,0 +1,10 @@ +using Sirenix.OdinInspector; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class DamageDealerComponent : MonoBehaviour +{ + [SerializeField] + public Damage damage; +} diff --git a/Assets/Scripts/Components/DamageDealerComponent.cs.meta b/Assets/Scripts/Components/DamageDealerComponent.cs.meta new file mode 100644 index 00000000..d0f67877 --- /dev/null +++ b/Assets/Scripts/Components/DamageDealerComponent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e319f0156710fae4b86f831b853bc104 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Components/DetectHitComponent.cs b/Assets/Scripts/Components/DetectHitComponent.cs new file mode 100644 index 00000000..a7d16e2b --- /dev/null +++ b/Assets/Scripts/Components/DetectHitComponent.cs @@ -0,0 +1,34 @@ +using Sirenix.OdinInspector; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Events; + +public class DetectHitComponent : MonoBehaviour +{ + private static float[] hitMultipliers = new float[] { + 0.5f, + 0.75f, + 1, + 1.25f, + 1.5f, + 2 + }; + + [SerializeField] + [ValueDropdown("hitMultipliers")] + private float hitMultiplier; + + public OnHitEvent onHit; + + + private void OnCollisionEnter(Collision collision) + { + var gameObject = collision.gameObject; + var damageDealer = gameObject.GetComponent(); + + if (damageDealer == null) return; + + onHit.Invoke(new(damageDealer.damage, hitMultiplier, gameObject)); + } +} diff --git a/Assets/Scripts/Components/DetectHitComponent.cs.meta b/Assets/Scripts/Components/DetectHitComponent.cs.meta new file mode 100644 index 00000000..ae12ee9f --- /dev/null +++ b/Assets/Scripts/Components/DetectHitComponent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 68d87505d90e702488bf2538540f835c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Components/ProcessHitComponent.cs b/Assets/Scripts/Components/ProcessHitComponent.cs new file mode 100644 index 00000000..d7c547eb --- /dev/null +++ b/Assets/Scripts/Components/ProcessHitComponent.cs @@ -0,0 +1,24 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Events; + +public class ProcessHitComponent : MonoBehaviour +{ + private HashSet ignored = new HashSet(); + + public UnityEvent onTakeDamage; + + public void Process(OnHitEvent.Args args) + { + var source = args.source; + + if (ignored.Contains(source)) return; + + Debug.Log("Got hit"); + + onTakeDamage.Invoke(args.damage.value); + + ignored.Add(args.source); + } +} diff --git a/Assets/Scripts/Components/ProcessHitComponent.cs.meta b/Assets/Scripts/Components/ProcessHitComponent.cs.meta new file mode 100644 index 00000000..7d33927c --- /dev/null +++ b/Assets/Scripts/Components/ProcessHitComponent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 647cabad96a59654cb4718c0bdf2ddd5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Components/RagdollComponent.cs b/Assets/Scripts/Components/RagdollComponent.cs index 17f13a3f..383f9e89 100644 --- a/Assets/Scripts/Components/RagdollComponent.cs +++ b/Assets/Scripts/Components/RagdollComponent.cs @@ -1,6 +1,7 @@ using Sirenix.OdinInspector; using System.Collections; using System.Collections.Generic; +using System.Linq; using UnityEngine; public class RagdollComponent : MonoBehaviour @@ -8,18 +9,24 @@ public class RagdollComponent : MonoBehaviour [Button] public void Ragdoll() { - var rigidBodies = GetComponentsInChildren(); - - foreach (var rb in rigidBodies) - { - rb.isKinematic = false; - } + StartCoroutine(RagdollCoroutine()); + } + IEnumerator RagdollCoroutine() + { var animators = GetComponentsInChildren(); foreach (var a in animators) { a.enabled = false; } + + var rigidBodies = GetComponentsInChildren(); + + foreach (var rb in rigidBodies) + { + rb.isKinematic = false; + yield return null; + } } } diff --git a/Assets/Scripts/Data.meta b/Assets/Scripts/Data.meta new file mode 100644 index 00000000..55da32c2 --- /dev/null +++ b/Assets/Scripts/Data.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cc4c5b74b2090dd498e5f6b54edae302 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Data/Damage.cs b/Assets/Scripts/Data/Damage.cs new file mode 100644 index 00000000..c7f00aa6 --- /dev/null +++ b/Assets/Scripts/Data/Damage.cs @@ -0,0 +1,41 @@ +using Sirenix.OdinInspector; +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +[Serializable] +public class Damage +{ + public int value; + + public static Type[] damageTypes = Type.all; + + [ValueDropdown("damageTypes")] + public Type type; + + [Serializable] + public class Type + { + private string name; + + private Type(string name) + { + this.name = name; + } + + public static Type normal = new("normal"); + + public static Type poison = new("poison"); + + public static Type[] all = new Type[] { + normal, + poison + }; + + public override string ToString() + { + return name; + } + } +} diff --git a/Assets/Scripts/Data/Damage.cs.meta b/Assets/Scripts/Data/Damage.cs.meta new file mode 100644 index 00000000..b727956c --- /dev/null +++ b/Assets/Scripts/Data/Damage.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 10150f370f18d5c47882ce685f073e43 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Events.meta b/Assets/Scripts/Events.meta new file mode 100644 index 00000000..246fe8c4 --- /dev/null +++ b/Assets/Scripts/Events.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4eb811cec162c154385f4126165b6cb1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Events/OnHitEvent.cs b/Assets/Scripts/Events/OnHitEvent.cs new file mode 100644 index 00000000..c9de8fcf --- /dev/null +++ b/Assets/Scripts/Events/OnHitEvent.cs @@ -0,0 +1,24 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Events; +using static OnHitEvent; + +[System.Serializable] +public class OnHitEvent : UnityEvent +{ + public class Args + { + public float hitMultiplier; + public Damage damage; + public GameObject source; + + + public Args(Damage damage, float hitMultiplier, GameObject source) + { + this.damage = damage; + this.hitMultiplier = hitMultiplier; + this.source = source; + } + } +} diff --git a/Assets/Scripts/Events/OnHitEvent.cs.meta b/Assets/Scripts/Events/OnHitEvent.cs.meta new file mode 100644 index 00000000..7d77e43f --- /dev/null +++ b/Assets/Scripts/Events/OnHitEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a10378074ffe5fa48aadc459fe8c38ef +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 9a2c173e..bd61713f 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -143,6 +143,8 @@ PlayerSettings: preloadedAssets: - {fileID: 0} - {fileID: 11400000, guid: 05da4dc3887e76b409ac8d96e5adcd52, type: 2} + - {fileID: -3242307658584684348, guid: 94ece74222127bf4487cc06019d68889, type: 2} + - {fileID: 11400000, guid: 5edd379c80a79174d9ef46693e5ef185, type: 2} metroInputSource: 0 wsaTransparentSwapchain: 0 m_HolographicPauseOnTrackingLoss: 1