diff --git a/Assets/Prefabs/Gladiator.prefab b/Assets/Prefabs/Gladiator.prefab index 6c83e05..b8641c9 100644 --- a/Assets/Prefabs/Gladiator.prefab +++ b/Assets/Prefabs/Gladiator.prefab @@ -31,7 +31,8 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 6.2, y: -2.69, z: -0.43858913} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] + m_Children: + - {fileID: 3324925360650734151} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -96,14 +97,18 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c537e1bd61b8d5c42b1ec03f90e14855, type: 3} m_Name: m_EditorClassIdentifier: + gameFlowManager: {fileID: 0} k__BackingField: 0 + bloodTokens: 1 + k__BackingField: 0 + k__BackingField: 0 fov: 0 attackRange: 1.5 - attackDmg: 10 + k__BackingField: 0 attackCooldown: 1 target: {fileID: 0} - stats: {fileID: 11400000, guid: 9d8a9a664d932d0498d5eca7607eeb53, type: 2} - ennemyName: Monster + halo: {fileID: 3772547392739388838} + AIStats: {fileID: 11400000, guid: 9d8a9a664d932d0498d5eca7607eeb53, type: 2} --- !u!58 &3988163462708087662 CircleCollider2D: m_ObjectHideFlags: 0 @@ -141,3 +146,85 @@ Rigidbody2D: m_SleepingMode: 1 m_CollisionDetection: 0 m_Constraints: 4 +--- !u!1 &3772547392739388838 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3324925360650734151} + - component: {fileID: 3476809687641125838} + m_Layer: 0 + m_Name: Halo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &3324925360650734151 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3772547392739388838} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: [] + m_Father: {fileID: 197677485360569565} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &3476809687641125838 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3772547392739388838} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 804d41420f6724d43bd02f32f3ee9d15, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.32, y: 0.32} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/Prefabs/Monster.prefab b/Assets/Prefabs/Monster.prefab index c04df97..6beb0b9 100644 --- a/Assets/Prefabs/Monster.prefab +++ b/Assets/Prefabs/Monster.prefab @@ -1,5 +1,87 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &160873202674104038 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3597671410581014117} + - component: {fileID: 8137410719586633938} + m_Layer: 0 + m_Name: Halo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &3597671410581014117 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160873202674104038} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: [] + m_Father: {fileID: 2399377275812995968} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &8137410719586633938 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160873202674104038} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 804d41420f6724d43bd02f32f3ee9d15, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.32, y: 0.32} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &2399377275812995980 GameObject: m_ObjectHideFlags: 0 @@ -31,7 +113,8 @@ Transform: 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_Children: [] + m_Children: + - {fileID: 3597671410581014117} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -96,15 +179,18 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7e480b0ef5998894283e8091830941cb, type: 3} m_Name: m_EditorClassIdentifier: + gameFlowManager: {fileID: 0} k__BackingField: 0 - movementSpeed: 2 - rotSpeed: 3 + bloodTokens: 1 + k__BackingField: 0 + k__BackingField: 0 fov: 0 attackRange: 1.5 - attackDmg: 10 + k__BackingField: 0 attackCooldown: 1 target: {fileID: 0} - stats: {fileID: 11400000, guid: 9d8a9a664d932d0498d5eca7607eeb53, type: 2} + halo: {fileID: 160873202674104038} + AIStats: {fileID: 11400000, guid: 9d8a9a664d932d0498d5eca7607eeb53, type: 2} --- !u!50 &1427479462206541758 Rigidbody2D: serializedVersion: 4 diff --git a/Assets/Scenes/YannTest.unity b/Assets/Scenes/YannTest.unity index 9b0efe4..70122c9 100644 --- a/Assets/Scenes/YannTest.unity +++ b/Assets/Scenes/YannTest.unity @@ -123,6 +123,17 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!114 &330576709 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 1967503440015794769, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + m_PrefabInstance: {fileID: 1942557562} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 56c3e06ea5db48a40a7f55e72291cb0d, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &647315810 PrefabInstance: m_ObjectHideFlags: 0 @@ -130,22 +141,6 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: - - target: {fileID: 3328484984159178892, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8365024801073869717, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8365024801073869717, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8365024801073869717, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} - propertyPath: m_LocalPosition.z - value: -1.9399996 - objectReference: {fileID: 0} - target: {fileID: 8365024801073869718, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} propertyPath: m_Follow value: @@ -154,10 +149,6 @@ PrefabInstance: propertyPath: m_LookAt value: objectReference: {fileID: 720678398} - - target: {fileID: 8365024801073869718, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} - propertyPath: m_Lens.OrthographicSize - value: 7 - objectReference: {fileID: 0} - target: {fileID: 8365024801698166081, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} propertyPath: m_RootOrder value: 0 @@ -206,22 +197,6 @@ PrefabInstance: propertyPath: m_Name value: SceneStuff objectReference: {fileID: 0} - - target: {fileID: 8365024802335227868, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8365024802335227868, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8365024802335227868, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} - propertyPath: m_LocalPosition.z - value: -1.9399996 - objectReference: {fileID: 0} - - target: {fileID: 8365024802335227869, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} - propertyPath: orthographic size - value: 10 - objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} --- !u!4 &720678398 stripped @@ -229,11 +204,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 1214567908930553594, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} m_PrefabInstance: {fileID: 1942557562} m_PrefabAsset: {fileID: 0} ---- !u!1 &994495019 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 3328484984159178892, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} - m_PrefabInstance: {fileID: 647315810} - m_PrefabAsset: {fileID: 0} --- !u!1001 &1359990804 PrefabInstance: m_ObjectHideFlags: 0 @@ -241,13 +211,17 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: -7596782781093632548, guid: 581322f036f3ff1448d4d2ec70f295a4, type: 3} + propertyPath: gameFlowManager + value: + objectReference: {fileID: 1359990806} - target: {fileID: 4164153230343464235, guid: 581322f036f3ff1448d4d2ec70f295a4, type: 3} propertyPath: globalCamera value: - objectReference: {fileID: 994495019} + objectReference: {fileID: 1557338110} - target: {fileID: 9196727425507610130, guid: 581322f036f3ff1448d4d2ec70f295a4, type: 3} propertyPath: m_RootOrder - value: 2 + value: 1 objectReference: {fileID: 0} - target: {fileID: 9196727425507610130, guid: 581322f036f3ff1448d4d2ec70f295a4, type: 3} propertyPath: m_LocalPosition.x @@ -295,6 +269,24 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 581322f036f3ff1448d4d2ec70f295a4, type: 3} +--- !u!1 &1359990805 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 9196727425507610131, guid: 581322f036f3ff1448d4d2ec70f295a4, type: 3} + m_PrefabInstance: {fileID: 1359990804} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1359990806 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1359990805} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e3fecdc4a8b2cb4419ef9d03180d130d, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: 1 --- !u!114 &1464970062 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 1878107874314509256, guid: e1dac4f28fe75a547b919b7aa8240fed, type: 3} @@ -327,7 +319,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1878107874060227351, guid: e1dac4f28fe75a547b919b7aa8240fed, type: 3} propertyPath: m_RootOrder - value: 3 + value: 2 objectReference: {fileID: 0} - target: {fileID: 1878107874060227351, guid: e1dac4f28fe75a547b919b7aa8240fed, type: 3} propertyPath: m_AnchorMax.x @@ -422,6 +414,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 81a29b049c6380f4abb3c18ed121efcd, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1557338110 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 3328484984159178892, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} + m_PrefabInstance: {fileID: 647315810} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1942557562 PrefabInstance: m_ObjectHideFlags: 0 @@ -429,17 +426,165 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.size + value: 17 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[13].m_ActionId + value: d0405457-c534-4103-a0b6-cf113432b467 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[14].m_ActionId + value: 01a06960-a379-49e3-9d58-9b7c8effcb3d + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[15].m_ActionId + value: 65aa4e67-f805-47b9-adc0-444ca0e0bec8 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[16].m_ActionId + value: 5017bbb1-a56a-40c6-add6-2360873a6945 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[13].m_ActionName + value: Player/SwitchMinion[/Keyboard/q,/Keyboard/e,/XInputControllerWindows/leftShoulder,/XInputControllerWindows/rightShoulder] + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[14].m_ActionName + value: Player/Start[/XInputControllerWindows/start,/Keyboard/enter] + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[15].m_ActionName + value: Player/Accept[/XInputControllerWindows/buttonSouth,/XInputControllerWindows/start,/Keyboard/enter] + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[16].m_ActionName + value: Player/Throw[/Keyboard/r,/XInputControllerWindows/buttonNorth] + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[13].m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[14].m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[15].m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[16].m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[13].m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[14].m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[15].m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[16].m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 0 + objectReference: {fileID: 0} - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} propertyPath: m_ActionEvents.Array.data[13].m_PersistentCalls.m_Calls.Array.data[0].m_Target value: objectReference: {fileID: 1551362087} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[14].m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 1359990806} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[15].m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 1359990806} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[16].m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 330576709} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[13].m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[14].m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[15].m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[16].m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[13].m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: ChangeSelectedIcon + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[14].m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: OnStart + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[15].m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: OnAccept + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[16].m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: ToggleThrowMode + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[13].m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: MinionBar, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[14].m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: GameFlowManager, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[15].m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: GameFlowManager, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[16].m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: MinionThrower, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[13].m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[14].m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[15].m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_ActionEvents.Array.data[16].m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 1214567908930553592, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: gameFlowManager + value: + objectReference: {fileID: 1359990806} - target: {fileID: 1214567908930553593, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} propertyPath: m_Name value: Vampire objectReference: {fileID: 0} - target: {fileID: 1214567908930553594, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} propertyPath: m_RootOrder - value: 1 + value: 3 objectReference: {fileID: 0} - target: {fileID: 1214567908930553594, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} propertyPath: m_LocalPosition.x @@ -481,25 +626,26 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 1967503440015794769, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} - propertyPath: minionPrefabs.Array.size - value: 3 + - target: {fileID: 1214567908930553595, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: m_SortingOrder + value: 0 objectReference: {fileID: 0} - - target: {fileID: 1967503440015794769, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} - propertyPath: minionPrefabs.Array.data[0] - value: - objectReference: {fileID: 197677485360569561, guid: b25a487d193f24049b6a791adf592b2e, type: 3} - - target: {fileID: 1967503440015794769, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} - propertyPath: minionPrefabs.Array.data[1] - value: - objectReference: {fileID: 197677485360569561, guid: b25a487d193f24049b6a791adf592b2e, type: 3} - - target: {fileID: 1967503440015794769, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} - propertyPath: minionPrefabs.Array.data[2] - value: - objectReference: {fileID: 197677485360569561, guid: b25a487d193f24049b6a791adf592b2e, type: 3} - target: {fileID: 3126145803593047825, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} propertyPath: healthBar value: objectReference: {fileID: 1464970062} - m_RemovedComponents: [] + - target: {fileID: 3126145803593047825, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: playerStats + value: + objectReference: {fileID: 11400000, guid: 12a626b5a296d934ba078d222ad6ba98, type: 2} + - target: {fileID: 3126145803593047825, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: gameFlowManager + value: + objectReference: {fileID: 1359990806} + - target: {fileID: 3126145803593047825, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} + propertyPath: k__BackingField + value: 100 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 7731321959366517533, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} m_SourcePrefab: {fileID: 100100000, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} diff --git a/Assets/Scenes/YannTest.unity.meta b/Assets/Scenes/YannTest.unity.meta index e7d7a7e..cf5e574 100644 --- a/Assets/Scenes/YannTest.unity.meta +++ b/Assets/Scenes/YannTest.unity.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c00861c3185f81f4984c70107e571f82 +guid: ccd4cfe319c2d4d44b71ae684428bd43 DefaultImporter: externalObjects: {} userData: diff --git a/Assets/Scripts/BloodSucker.cs b/Assets/Scripts/BloodSucker.cs index 5739e25..da50fcc 100644 --- a/Assets/Scripts/BloodSucker.cs +++ b/Assets/Scripts/BloodSucker.cs @@ -7,6 +7,7 @@ public class BloodSucker : MonoBehaviour { [SerializeField] float suckDuration = 1f; [SerializeField] float suckRange = 1f; + [SerializeField] float healthGainFromSuck = 30f; Entity currentTarget; VampireEntity vampireEntity; @@ -74,10 +75,12 @@ public class BloodSucker : MonoBehaviour { currentSuckTimer -= deltaTime; if (currentSuckTimer < 0f) { currentTarget.bloodTokens -= 1; + vampireEntity.HealDamage(healthGainFromSuck); // print("One token sucked"); if (currentTarget.bloodTokens == 0) { SetTarget(null); isSucking = false; + // TODO : Dispawn target } else { currentSuckTimer = suckDuration; } @@ -85,11 +88,11 @@ public class BloodSucker : MonoBehaviour { } void HighlightTarget() { - + currentTarget.EnableHalo(); } void UnHighlightTarget() { - + currentTarget.DisableHalo(); } } diff --git a/Assets/Scripts/Entity.cs b/Assets/Scripts/Entity.cs index 72f9457..118ba5f 100644 --- a/Assets/Scripts/Entity.cs +++ b/Assets/Scripts/Entity.cs @@ -4,76 +4,84 @@ using NaughtyAttributes; using UnityEngine; [RequireComponent(typeof(Rigidbody2D))] -public class Entity : MonoBehaviour -{ - [SerializeField] [Required] - protected GameFlowManager gameFlowManager = null!; +public class Entity : MonoBehaviour { + [SerializeField] + [Required] + protected GameFlowManager gameFlowManager = null!; - [field: SerializeField] [field: Required] - protected EntityStats stats { get; private set; } - [field: SerializeField]public float Health {get; private set; } - bool isAlive = true; + [field: SerializeField] + [field: Required] + protected EntityStats stats { get; private set; } + [field: SerializeField] public float Health { get; private set; } + [Min(10f)] + protected float initialHealth; + bool isAlive = true; public int bloodTokens = 1; - [field: SerializeField]public float movementSpeed{get; private set; } - [field: SerializeField]public float rotSpeed {get; private set; } - [SerializeField]private float fov; - [SerializeField]private float attackRange; - [field: SerializeField]public float attackDmg {get; private set; } - [SerializeField]protected float attackCooldown; + [field: SerializeField] public float movementSpeed { get; private set; } + [field: SerializeField] public float rotSpeed { get; private set; } + [SerializeField] private float fov; + [SerializeField] private float attackRange; + [field: SerializeField] public float attackDmg { get; private set; } + [SerializeField] protected float attackCooldown; protected float attackTimer; - [SerializeField]private Transform target; - public string entityName {get; protected set; } + [SerializeField] private Transform target; + public string entityName { get; protected set; } private Collider atkCollider; - public Vector3 direction {get; set; } - public Rigidbody2D rb {get; private set;} + public Vector3 direction { get; set; } + public Rigidbody2D rb { get; private set; } bool beingPushed; + [SerializeField] GameObject halo; void Awake() => rb = GetComponent(); protected virtual void Start() { - direction = new Vector3(1,0,0); + direction = new Vector3(1, 0, 0); attackTimer = attackCooldown; + initialHealth = Health; + if (halo != null) { + halo.SetActive(false); + } } - - protected virtual void Update() {} + + protected virtual void Update() { } protected virtual void FixedUpdate() { - //TODO sqrMagnitude? - if (beingPushed && rb.velocity.magnitude < stats.MinVelocityWhenPushed) { - rb.velocity = Vector2.zero; - beingPushed = false; - } - } - - protected virtual void Attack(){ - - } - - protected virtual void SpecialAttack(){ - - } - - protected virtual void MoveToTarget(){ - //Would be nice if we could force this to be in FixedUpdate - direction = Vector3.RotateTowards(direction, (target.position - transform.position), rotSpeed*Time.fixedDeltaTime, 0.0f); - if(!IsInAttackRange()){ - rb.MovePosition(transform.position + direction * movementSpeed * Time.fixedDeltaTime); + //TODO sqrMagnitude? + if (beingPushed && rb.velocity.magnitude < stats.MinVelocityWhenPushed) { + rb.velocity = Vector2.zero; + beingPushed = false; } - } - public void SetTarget(Transform newTarget){ + protected virtual void Attack() { + + } + + protected virtual void SpecialAttack() { + + } + + protected virtual void MoveToTarget() { + //Would be nice if we could force this to be in FixedUpdate + direction = Vector3.RotateTowards(direction, (target.position - transform.position), rotSpeed * Time.fixedDeltaTime, 0.0f); + if (!IsInAttackRange()) { + rb.MovePosition(transform.position + direction * movementSpeed * Time.fixedDeltaTime); + } + + } + + public void SetTarget(Transform newTarget) { target = newTarget; } - public Transform GetTarget(){ + public Transform GetTarget() { return target; } //Apply damage to the entity, returns true if it is still alive - public virtual bool TakeDamage(float amount){ + public virtual bool TakeDamage(float amount) { Health -= amount; - if(Health <= 0){ + if (Health <= 0) { isAlive = false; OnDied(); return false; @@ -81,23 +89,38 @@ public class Entity : MonoBehaviour return true; } - protected bool IsInAttackRange(){ + public virtual void HealDamage(float amount) { + Health += amount; + if(Health > initialHealth) { + Health = initialHealth; + } + } + + protected bool IsInAttackRange() { return Vector2.Distance(transform.position, target.position) <= attackRange; } - protected bool IsLookingAtTarget(){ + protected bool IsLookingAtTarget() { float angle = Vector2.SignedAngle(direction, (target.position - transform.position)); return angle >= -fov && angle <= fov; } - public bool IsAlive(){ + public bool IsAlive() { return isAlive; } protected void AddImpulse(Vector3 impulse) { - beingPushed = true; - rb.AddForce(impulse, ForceMode2D.Impulse); + beingPushed = true; + rb.AddForce(impulse, ForceMode2D.Impulse); } - protected virtual void OnDied() {} + protected virtual void OnDied() { } + + public void EnableHalo() { + halo.SetActive(true); + } + + public void DisableHalo() { + halo.SetActive(false); + } } diff --git a/Assets/Scripts/VampireEntity.cs b/Assets/Scripts/VampireEntity.cs index 57f4a2a..750f1f8 100644 --- a/Assets/Scripts/VampireEntity.cs +++ b/Assets/Scripts/VampireEntity.cs @@ -7,14 +7,10 @@ public class VampireEntity : Entity { [SerializeField] [Required] HealthBar healthBar; - [Min(10f)] - float initialHealth; protected override void Start() { base.Start(); base.entityName = "Vampire"; - - initialHealth = Health; } protected override void Update() {