From 7a7bc8a84a0e2e64516cbbc47b42d32ba54e291c Mon Sep 17 00:00:00 2001 From: Hazim Bin Ijaz Date: Mon, 24 Mar 2025 15:38:37 +0500 Subject: [PATCH] Added character random selection --- .../.idea/indexLayout.xml | 8 + .idea/.idea.RizzeProjectile/.idea/vcs.xml | 6 + Assets/Prefabs/Mysto.prefab | 96 ++++++ Assets/Prefabs/Mysto.prefab.meta | 7 + Assets/Prefabs/Nova.prefab | 60 ++++ Assets/Prefabs/Nova.prefab.meta | 7 + Assets/Prefabs/Player/PlayerAgent.prefab | 288 ++++++++++++++---- Assets/Prefabs/Wizard.prefab | 75 +++++ Assets/Prefabs/Wizard.prefab.meta | 7 + Assets/Scripts/Player/PlayerBody.cs | 57 ++-- 10 files changed, 543 insertions(+), 68 deletions(-) create mode 100644 .idea/.idea.RizzeProjectile/.idea/indexLayout.xml create mode 100644 .idea/.idea.RizzeProjectile/.idea/vcs.xml create mode 100644 Assets/Prefabs/Mysto.prefab create mode 100644 Assets/Prefabs/Mysto.prefab.meta create mode 100644 Assets/Prefabs/Nova.prefab create mode 100644 Assets/Prefabs/Nova.prefab.meta create mode 100644 Assets/Prefabs/Wizard.prefab create mode 100644 Assets/Prefabs/Wizard.prefab.meta diff --git a/.idea/.idea.RizzeProjectile/.idea/indexLayout.xml b/.idea/.idea.RizzeProjectile/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.RizzeProjectile/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.RizzeProjectile/.idea/vcs.xml b/.idea/.idea.RizzeProjectile/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/.idea.RizzeProjectile/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Assets/Prefabs/Mysto.prefab b/Assets/Prefabs/Mysto.prefab new file mode 100644 index 0000000..0a62b71 --- /dev/null +++ b/Assets/Prefabs/Mysto.prefab @@ -0,0 +1,96 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &8098887637710900163 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_LocalPosition.y + value: 0.6 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_LocalPosition.z + value: -1.56 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4979834573570412896, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -4379569206756028908, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_Materials.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: -4379569206756028908, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: 'm_Materials.Array.data[1]' + value: + objectReference: {fileID: 2100000, guid: 9f7761630364dfb48a2020e6a0145868, type: 2} + - target: {fileID: -3244476056490683178, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 661651720426966144, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_Name + value: Mysto_V2 + objectReference: {fileID: 0} + - target: {fileID: 4979718348992894074, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_Materials.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4979718348992894074, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: 'm_Materials.Array.data[1]' + value: + objectReference: {fileID: 2100000, guid: 203cd077c8b91184ea5c114c3d61c7c2, type: 2} + - target: {fileID: 5053382523281451102, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: m_Materials.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 5053382523281451102, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + propertyPath: 'm_Materials.Array.data[1]' + value: + objectReference: {fileID: 2100000, guid: baefab5a061080c449801d219bfadd74, type: 2} + m_RemovedComponents: + - {fileID: 5866666021909216657, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0b73dce48b30d2348aa8cb29b99b70a1, type: 3} diff --git a/Assets/Prefabs/Mysto.prefab.meta b/Assets/Prefabs/Mysto.prefab.meta new file mode 100644 index 0000000..1e0c806 --- /dev/null +++ b/Assets/Prefabs/Mysto.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 40f886d277b26334e8921f163c1c360c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Nova.prefab b/Assets/Prefabs/Nova.prefab new file mode 100644 index 0000000..c5ecc85 --- /dev/null +++ b/Assets/Prefabs/Nova.prefab @@ -0,0 +1,60 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &5360422751767218215 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 9d64fa8f79430c840bb7bd153b0d26aa, type: 3} + propertyPath: m_LocalPosition.x + value: 1.29 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 9d64fa8f79430c840bb7bd153b0d26aa, type: 3} + propertyPath: m_LocalPosition.y + value: 1.031 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 9d64fa8f79430c840bb7bd153b0d26aa, type: 3} + propertyPath: m_LocalPosition.z + value: -1.77 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 9d64fa8f79430c840bb7bd153b0d26aa, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 9d64fa8f79430c840bb7bd153b0d26aa, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 9d64fa8f79430c840bb7bd153b0d26aa, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 9d64fa8f79430c840bb7bd153b0d26aa, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 9d64fa8f79430c840bb7bd153b0d26aa, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 9d64fa8f79430c840bb7bd153b0d26aa, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 9d64fa8f79430c840bb7bd153b0d26aa, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 9d64fa8f79430c840bb7bd153b0d26aa, type: 3} + propertyPath: m_Name + value: Nova + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 5866666021909216657, guid: 9d64fa8f79430c840bb7bd153b0d26aa, type: 3} + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 9d64fa8f79430c840bb7bd153b0d26aa, type: 3} diff --git a/Assets/Prefabs/Nova.prefab.meta b/Assets/Prefabs/Nova.prefab.meta new file mode 100644 index 0000000..a3eaf20 --- /dev/null +++ b/Assets/Prefabs/Nova.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 216ee94a07017c042a497e419f444b6f +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Player/PlayerAgent.prefab b/Assets/Prefabs/Player/PlayerAgent.prefab index df822b8..591e5d2 100644 --- a/Assets/Prefabs/Player/PlayerAgent.prefab +++ b/Assets/Prefabs/Player/PlayerAgent.prefab @@ -34,6 +34,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 260199661339379077} + 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} @@ -41,7 +42,6 @@ Transform: m_Children: - {fileID: 1361410190923505787} m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &928286260755075771 MonoBehaviour: @@ -69,6 +69,7 @@ MonoBehaviour: - {fileID: 316060476010132159} - {fileID: 750882487852086919} - {fileID: 1128444158403002831} + ForceRemoteRenderTimeframe: 0 --- !u!114 &2000174215685155523 MonoBehaviour: m_ObjectHideFlags: 0 @@ -105,6 +106,7 @@ MonoBehaviour: m_Script: {fileID: -1869825851, guid: 977dbcf975465374990f471e1497f563, type: 3} m_Name: m_EditorClassIdentifier: + _stateAuthorityChangeErrorCorrectionDelta: 0.15 _settings: Shape: 1 IsTrigger: 0 @@ -116,7 +118,8 @@ MonoBehaviour: serializedVersion: 2 m_Bits: 193 ProxyInterpolationMode: 0 - TeleportThreshold: 1 + MaxPenetrationSteps: 8 + CCDRadiusMultiplier: 0.75 AntiJitterDistance: {x: 0.025, y: 0.01} CompressNetworkPosition: 0 ForcePredictedLookRotation: 0 @@ -163,10 +166,21 @@ Rigidbody: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 260199661339379077} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 1 m_Drag: 0.1 m_AngularDrag: 0.2 + 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 @@ -220,12 +234,13 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe4a77e9d16c4743a810470ee646178e, type: 3} m_Name: m_EditorClassIdentifier: + _characters: + - {fileID: 8854946367875616511} + - {fileID: 7025872547936350386} + - {fileID: 8470766787036586220} _root: {fileID: 6953252751102847378} _visual: {fileID: 2526105640932925329} _immortalityEffect: {fileID: 5676985285472807795} - _capTransform: {fileID: 5440148401314618292} - _flyingCapPrefab: {fileID: 6411814381523849521, guid: 2cf998a7edf4a7c4cbcda4d4f94c3255, type: 3} - _capImpulse: 1 _deathEffectPrefab: {fileID: 6616163762673046193, guid: 89eb08fa431f13b4ca9f10526b54a27f, type: 3} --- !u!114 &316060476010132159 MonoBehaviour: @@ -299,13 +314,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 504059032653147225} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 1.47, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1361410190923505787} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1315163349561248969 GameObject: @@ -330,6 +345,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1315163349561248969} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 1.35, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} @@ -337,7 +353,6 @@ Transform: m_Children: - {fileID: 2117859135794692440} m_Father: {fileID: 1361410190923505787} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2526105640932925329 GameObject: @@ -362,15 +377,17 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2526105640932925329} + 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: 2967666232924188520} + - {fileID: 8190014049819087941} + - {fileID: 7695307571730213384} + - {fileID: 9134959412955216470} - {fileID: 3682532203546782314} m_Father: {fileID: 1361410190923505787} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &4630236402239623028 GameObject: @@ -396,13 +413,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4630236402239623028} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0.896, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1361410190923505787} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &4747957297368219046 MonoBehaviour: @@ -419,9 +436,9 @@ MonoBehaviour: Type: 1 SphereRadius: 1 CapsuleRadius: 0 - BoxExtents: {x: 0.35, y: 0.9, z: 0.35} + BoxExtents: {x: 0.62, y: 1.17, z: 0.35} CapsuleExtents: 0 - Offset: {x: 0, y: 0, z: 0} + Offset: {x: 0, y: 0.24, z: 0} Root: {fileID: 8590590556116103162} GizmosColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} --- !u!1 &5676985285472807795 @@ -449,13 +466,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5676985285472807795} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0.9, z: 0} m_LocalScale: {x: 1.01, y: 1.01, z: 1.01} m_ConstrainProportionsScale: 1 m_Children: [] m_Father: {fileID: 6592586564576162323} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &3581524774353807096 MeshFilter: @@ -482,6 +499,9 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -530,6 +550,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6953252751102847378} + 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} @@ -540,7 +561,6 @@ Transform: - {fileID: 6023693924253656717} - {fileID: 7136782717251966427} m_Father: {fileID: 4327114067154968929} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &7161862700806702287 GameObject: @@ -565,6 +585,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7161862700806702287} + 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} @@ -572,7 +593,6 @@ Transform: m_Children: - {fileID: 6249603782933705366} m_Father: {fileID: 5401675310905547977} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &7344887465434541220 GameObject: @@ -597,86 +617,252 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7344887465434541220} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0.35, y: -0.27, z: 0.11} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2117859135794692440} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &3015082363744815592 +--- !u!1001 &452462753758460013 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 6592586564576162323} m_Modifications: - - target: {fileID: 70084899499943552, guid: 12230c311e62f4d40bf73328738138cf, type: 3} - propertyPath: m_RootOrder - value: 0 + - target: {fileID: 3701293033034008023, guid: 40f886d277b26334e8921f163c1c360c, type: 3} + propertyPath: m_CastShadows + value: 3 objectReference: {fileID: 0} - - target: {fileID: 70084899499943552, guid: 12230c311e62f4d40bf73328738138cf, type: 3} + - target: {fileID: 3854663543797899193, guid: 40f886d277b26334e8921f163c1c360c, type: 3} + propertyPath: m_CastShadows + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 3910320487910351773, guid: 40f886d277b26334e8921f163c1c360c, type: 3} + propertyPath: m_CastShadows + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 8642335224248855592, guid: 40f886d277b26334e8921f163c1c360c, type: 3} propertyPath: m_LocalPosition.x - value: -0 + value: 0 objectReference: {fileID: 0} - - target: {fileID: 70084899499943552, guid: 12230c311e62f4d40bf73328738138cf, type: 3} + - target: {fileID: 8642335224248855592, guid: 40f886d277b26334e8921f163c1c360c, type: 3} propertyPath: m_LocalPosition.y - value: 0.9 + value: 0 objectReference: {fileID: 0} - - target: {fileID: 70084899499943552, guid: 12230c311e62f4d40bf73328738138cf, type: 3} + - target: {fileID: 8642335224248855592, guid: 40f886d277b26334e8921f163c1c360c, type: 3} propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 70084899499943552, guid: 12230c311e62f4d40bf73328738138cf, type: 3} + - target: {fileID: 8642335224248855592, guid: 40f886d277b26334e8921f163c1c360c, type: 3} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - - target: {fileID: 70084899499943552, guid: 12230c311e62f4d40bf73328738138cf, type: 3} + - target: {fileID: 8642335224248855592, guid: 40f886d277b26334e8921f163c1c360c, type: 3} propertyPath: m_LocalRotation.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 70084899499943552, guid: 12230c311e62f4d40bf73328738138cf, type: 3} + - target: {fileID: 8642335224248855592, guid: 40f886d277b26334e8921f163c1c360c, type: 3} propertyPath: m_LocalRotation.y - value: -0 + value: 0 objectReference: {fileID: 0} - - target: {fileID: 70084899499943552, guid: 12230c311e62f4d40bf73328738138cf, type: 3} + - target: {fileID: 8642335224248855592, guid: 40f886d277b26334e8921f163c1c360c, type: 3} propertyPath: m_LocalRotation.z - value: -0 + value: 0 objectReference: {fileID: 0} - - target: {fileID: 70084899499943552, guid: 12230c311e62f4d40bf73328738138cf, type: 3} + - target: {fileID: 8642335224248855592, guid: 40f886d277b26334e8921f163c1c360c, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 70084899499943552, guid: 12230c311e62f4d40bf73328738138cf, type: 3} + - target: {fileID: 8642335224248855592, guid: 40f886d277b26334e8921f163c1c360c, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 70084899499943552, guid: 12230c311e62f4d40bf73328738138cf, type: 3} + - target: {fileID: 8642335224248855592, guid: 40f886d277b26334e8921f163c1c360c, type: 3} propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 843067535118072890, guid: 12230c311e62f4d40bf73328738138cf, type: 3} + - target: {fileID: 8981425278228280978, guid: 40f886d277b26334e8921f163c1c360c, type: 3} + propertyPath: m_Name + value: Mysto + objectReference: {fileID: 0} + - target: {fileID: 8981425278228280978, guid: 40f886d277b26334e8921f163c1c360c, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 40f886d277b26334e8921f163c1c360c, type: 3} +--- !u!4 &8190014049819087941 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8642335224248855592, guid: 40f886d277b26334e8921f163c1c360c, type: 3} + m_PrefabInstance: {fileID: 452462753758460013} + m_PrefabAsset: {fileID: 0} +--- !u!1 &8854946367875616511 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 8981425278228280978, guid: 40f886d277b26334e8921f163c1c360c, type: 3} + m_PrefabInstance: {fileID: 452462753758460013} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &2820814801992074692 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 6592586564576162323} + m_Modifications: + - target: {fileID: 2086878223727683785, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + propertyPath: m_CastShadows + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 5090586856652600694, guid: 216ee94a07017c042a497e419f444b6f, type: 3} propertyPath: m_Name - value: PhotonDummy + value: Nova + objectReference: {fileID: 0} + - target: {fileID: 5090586856652600694, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5615625256337977292, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5615625256337977292, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5615625256337977292, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5615625256337977292, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5615625256337977292, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5615625256337977292, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5615625256337977292, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + propertyPath: m_LocalRotation.z + value: 0 objectReference: {fileID: 0} - - target: {fileID: 1203535344554728943, guid: 12230c311e62f4d40bf73328738138cf, type: 3} - propertyPath: m_Materials.Array.size - value: 2 + - target: {fileID: 5615625256337977292, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5615625256337977292, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5615625256337977292, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6633379141952908746, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + propertyPath: m_CastShadows + value: 3 objectReference: {fileID: 0} - - target: {fileID: 1203535344554728943, guid: 12230c311e62f4d40bf73328738138cf, type: 3} - propertyPath: m_Materials.Array.data[1] - value: - objectReference: {fileID: 2100000, guid: ecbca1243d71d394bb6c08364a8ba9f6, type: 2} m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 12230c311e62f4d40bf73328738138cf, type: 3} ---- !u!4 &2967666232924188520 stripped + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 216ee94a07017c042a497e419f444b6f, type: 3} +--- !u!1 &7025872547936350386 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5090586856652600694, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + m_PrefabInstance: {fileID: 2820814801992074692} + m_PrefabAsset: {fileID: 0} +--- !u!4 &7695307571730213384 stripped Transform: - m_CorrespondingSourceObject: {fileID: 70084899499943552, guid: 12230c311e62f4d40bf73328738138cf, type: 3} - m_PrefabInstance: {fileID: 3015082363744815592} + m_CorrespondingSourceObject: {fileID: 5615625256337977292, guid: 216ee94a07017c042a497e419f444b6f, type: 3} + m_PrefabInstance: {fileID: 2820814801992074692} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &6720936570223637388 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 6592586564576162323} + m_Modifications: + - target: {fileID: 2558173352620640730, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2558173352620640730, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2558173352620640730, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2558173352620640730, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2558173352620640730, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2558173352620640730, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2558173352620640730, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2558173352620640730, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2558173352620640730, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2558173352620640730, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2939625360853209952, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + propertyPath: m_Name + value: Wizard + objectReference: {fileID: 0} + - target: {fileID: 2939625360853209952, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4864075157636302119, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + propertyPath: m_CastShadows + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 7722531237297341439, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + propertyPath: m_CastShadows + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} +--- !u!1 &8470766787036586220 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 2939625360853209952, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + m_PrefabInstance: {fileID: 6720936570223637388} m_PrefabAsset: {fileID: 0} ---- !u!4 &5440148401314618292 stripped +--- !u!4 &9134959412955216470 stripped Transform: - m_CorrespondingSourceObject: {fileID: 7109199513948672604, guid: 12230c311e62f4d40bf73328738138cf, type: 3} - m_PrefabInstance: {fileID: 3015082363744815592} + m_CorrespondingSourceObject: {fileID: 2558173352620640730, guid: a4479e2a3c8f19e4583538e95ef2a2dd, type: 3} + m_PrefabInstance: {fileID: 6720936570223637388} m_PrefabAsset: {fileID: 0} diff --git a/Assets/Prefabs/Wizard.prefab b/Assets/Prefabs/Wizard.prefab new file mode 100644 index 0000000..11addf0 --- /dev/null +++ b/Assets/Prefabs/Wizard.prefab @@ -0,0 +1,75 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &2597112853096803889 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: m_LocalPosition.x + value: 0.51 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: m_LocalPosition.y + value: 0.401 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: m_LocalPosition.z + value: -7.38 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3521465952584012338, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: m_Materials.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: -3521465952584012338, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: 'm_Materials.Array.data[1]' + value: + objectReference: {fileID: 2100000, guid: 5e20483b026e69a40bef9023236f96e5, type: 2} + - target: {fileID: -1762483103825564906, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: m_Materials.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: -1762483103825564906, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: 'm_Materials.Array.data[1]' + value: + objectReference: {fileID: 2100000, guid: 172a5c53e3bf5f34fa4de9a827fba686, type: 2} + - target: {fileID: 919132149155446097, guid: bb245c42193dfc7499d350528f728cfd, type: 3} + propertyPath: m_Name + value: Wizard + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: bb245c42193dfc7499d350528f728cfd, type: 3} diff --git a/Assets/Prefabs/Wizard.prefab.meta b/Assets/Prefabs/Wizard.prefab.meta new file mode 100644 index 0000000..d714bc0 --- /dev/null +++ b/Assets/Prefabs/Wizard.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a4479e2a3c8f19e4583538e95ef2a2dd +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Player/PlayerBody.cs b/Assets/Scripts/Player/PlayerBody.cs index baafcd8..3d321cf 100644 --- a/Assets/Scripts/Player/PlayerBody.cs +++ b/Assets/Scripts/Player/PlayerBody.cs @@ -1,4 +1,5 @@ -using Fusion; +using System.Collections.Generic; +using Fusion; using UnityEngine; using UnityEngine.Rendering; @@ -10,19 +11,22 @@ namespace Projectiles public class PlayerBody : ContextBehaviour { // PRIVATE MEMBERS - + [Networked] + private int SelectedCharacterIndex { get; set; } + [SerializeField] + private List _characters; [SerializeField] private GameObject _root; [SerializeField] private GameObject _visual; [SerializeField] private GameObject _immortalityEffect; - [SerializeField] - private Transform _capTransform; - [SerializeField] - private Rigidbody _flyingCapPrefab; - [SerializeField] - private float _capImpulse = 10f; + // [SerializeField] + // private Transform _capTransform; + // [SerializeField] + // private Rigidbody _flyingCapPrefab; + // [SerializeField] + // private float _capImpulse = 10f; [SerializeField] private GameObject _deathEffectPrefab; @@ -33,17 +37,36 @@ namespace Projectiles public override void Spawned() { + if (Object.HasStateAuthority) + { + if (_characters != null && _characters.Count > 0) + { + SelectedCharacterIndex = UnityEngine.Random.Range(0, _characters.Count); + } + } + UpdateCharacterModel(); + + // Keep the existing logic: _root.SetActive(_agent.Health.IsAlive); _agent.Health.FatalHitTaken += OnFatalHit; - - // Disable visual for local player - var renderers = _visual.GetComponentsInChildren(); + var renderers = _visual.GetComponentsInChildren(); for (int i = 0; i < renderers.Length; i++) { + // This makes the local player’s model invisible to itself (only shadows), while others see it normally. renderers[i].shadowCastingMode = HasInputAuthority ? ShadowCastingMode.ShadowsOnly : ShadowCastingMode.On; } } + private void UpdateCharacterModel() + { + for (int i = 0; i < _characters.Count; i++) + { + _characters[i].SetActive(i == SelectedCharacterIndex); + } + } + + + public override void FixedUpdateNetwork() { // Disable hitbox detection when agent is dead @@ -78,15 +101,15 @@ namespace Projectiles var deathEffect = Runner.InstantiateInRunnerScene(_deathEffectPrefab); deathEffect.transform.position = transform.position + Vector3.up; - var flyingCap = Runner.InstantiateInRunnerScene(_flyingCapPrefab); - flyingCap.transform.SetPositionAndRotation(_capTransform.position, _capTransform.rotation); - - var direction = (hit.Direction + 2f * Vector3.up).normalized; - flyingCap.AddForceAtPosition(direction * _capImpulse, flyingCap.transform.position - hit.Direction * 0.2f, ForceMode.Impulse); + // var flyingCap = Runner.InstantiateInRunnerScene(_flyingCapPrefab); + // flyingCap.transform.SetPositionAndRotation(_capTransform.position, _capTransform.rotation); + // + // var direction = (hit.Direction + 2f * Vector3.up).normalized; + // flyingCap.AddForceAtPosition(direction * _capImpulse, flyingCap.transform.position - hit.Direction * 0.2f, ForceMode.Impulse); if (Runner.Config.PeerMode == NetworkProjectConfig.PeerModes.Multiple) { - Runner.AddVisibilityNodes(flyingCap.gameObject); + // Runner.AddVisibilityNodes(flyingCap.gameObject); Runner.AddVisibilityNodes(deathEffect.gameObject); } }