Suck gain health

This commit is contained in:
Yann Dupont 01 2022-04-02 15:14:48 -04:00
parent 3afa90df38
commit 67fc4da188
7 changed files with 470 additions and 129 deletions

View File

@ -31,7 +31,8 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 6.2, y: -2.69, z: -0.43858913} m_LocalPosition: {x: 6.2, y: -2.69, z: -0.43858913}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: [] m_Children:
- {fileID: 3324925360650734151}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -96,14 +97,18 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c537e1bd61b8d5c42b1ec03f90e14855, type: 3} m_Script: {fileID: 11500000, guid: c537e1bd61b8d5c42b1ec03f90e14855, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
gameFlowManager: {fileID: 0}
<Health>k__BackingField: 0 <Health>k__BackingField: 0
bloodTokens: 1
<movementSpeed>k__BackingField: 0
<rotSpeed>k__BackingField: 0
fov: 0 fov: 0
attackRange: 1.5 attackRange: 1.5
attackDmg: 10 <attackDmg>k__BackingField: 0
attackCooldown: 1 attackCooldown: 1
target: {fileID: 0} target: {fileID: 0}
stats: {fileID: 11400000, guid: 9d8a9a664d932d0498d5eca7607eeb53, type: 2} halo: {fileID: 3772547392739388838}
ennemyName: Monster AIStats: {fileID: 11400000, guid: 9d8a9a664d932d0498d5eca7607eeb53, type: 2}
--- !u!58 &3988163462708087662 --- !u!58 &3988163462708087662
CircleCollider2D: CircleCollider2D:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -141,3 +146,85 @@ Rigidbody2D:
m_SleepingMode: 1 m_SleepingMode: 1
m_CollisionDetection: 0 m_CollisionDetection: 0
m_Constraints: 4 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

View File

@ -1,5 +1,87 @@
%YAML 1.1 %YAML 1.1
%TAG !u! tag:unity3d.com,2011: %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 --- !u!1 &2399377275812995980
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -31,7 +113,8 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: [] m_Children:
- {fileID: 3597671410581014117}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -96,15 +179,18 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 7e480b0ef5998894283e8091830941cb, type: 3} m_Script: {fileID: 11500000, guid: 7e480b0ef5998894283e8091830941cb, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
gameFlowManager: {fileID: 0}
<Health>k__BackingField: 0 <Health>k__BackingField: 0
movementSpeed: 2 bloodTokens: 1
rotSpeed: 3 <movementSpeed>k__BackingField: 0
<rotSpeed>k__BackingField: 0
fov: 0 fov: 0
attackRange: 1.5 attackRange: 1.5
attackDmg: 10 <attackDmg>k__BackingField: 0
attackCooldown: 1 attackCooldown: 1
target: {fileID: 0} target: {fileID: 0}
stats: {fileID: 11400000, guid: 9d8a9a664d932d0498d5eca7607eeb53, type: 2} halo: {fileID: 160873202674104038}
AIStats: {fileID: 11400000, guid: 9d8a9a664d932d0498d5eca7607eeb53, type: 2}
--- !u!50 &1427479462206541758 --- !u!50 &1427479462206541758
Rigidbody2D: Rigidbody2D:
serializedVersion: 4 serializedVersion: 4

View File

@ -123,6 +123,17 @@ NavMeshSettings:
debug: debug:
m_Flags: 0 m_Flags: 0
m_NavMeshData: {fileID: 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 --- !u!1001 &647315810
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -130,22 +141,6 @@ PrefabInstance:
m_Modification: m_Modification:
m_TransformParent: {fileID: 0} m_TransformParent: {fileID: 0}
m_Modifications: 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} - target: {fileID: 8365024801073869718, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3}
propertyPath: m_Follow propertyPath: m_Follow
value: value:
@ -154,10 +149,6 @@ PrefabInstance:
propertyPath: m_LookAt propertyPath: m_LookAt
value: value:
objectReference: {fileID: 720678398} 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} - target: {fileID: 8365024801698166081, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3}
propertyPath: m_RootOrder propertyPath: m_RootOrder
value: 0 value: 0
@ -206,22 +197,6 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: SceneStuff value: SceneStuff
objectReference: {fileID: 0} 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_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3} m_SourcePrefab: {fileID: 100100000, guid: f7f5d2b1228d13f4d9015073aced3e81, type: 3}
--- !u!4 &720678398 stripped --- !u!4 &720678398 stripped
@ -229,11 +204,6 @@ Transform:
m_CorrespondingSourceObject: {fileID: 1214567908930553594, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} m_CorrespondingSourceObject: {fileID: 1214567908930553594, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3}
m_PrefabInstance: {fileID: 1942557562} m_PrefabInstance: {fileID: 1942557562}
m_PrefabAsset: {fileID: 0} 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 --- !u!1001 &1359990804
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -241,13 +211,17 @@ PrefabInstance:
m_Modification: m_Modification:
m_TransformParent: {fileID: 0} m_TransformParent: {fileID: 0}
m_Modifications: m_Modifications:
- target: {fileID: -7596782781093632548, guid: 581322f036f3ff1448d4d2ec70f295a4, type: 3}
propertyPath: gameFlowManager
value:
objectReference: {fileID: 1359990806}
- target: {fileID: 4164153230343464235, guid: 581322f036f3ff1448d4d2ec70f295a4, type: 3} - target: {fileID: 4164153230343464235, guid: 581322f036f3ff1448d4d2ec70f295a4, type: 3}
propertyPath: globalCamera propertyPath: globalCamera
value: value:
objectReference: {fileID: 994495019} objectReference: {fileID: 1557338110}
- target: {fileID: 9196727425507610130, guid: 581322f036f3ff1448d4d2ec70f295a4, type: 3} - target: {fileID: 9196727425507610130, guid: 581322f036f3ff1448d4d2ec70f295a4, type: 3}
propertyPath: m_RootOrder propertyPath: m_RootOrder
value: 2 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 9196727425507610130, guid: 581322f036f3ff1448d4d2ec70f295a4, type: 3} - target: {fileID: 9196727425507610130, guid: 581322f036f3ff1448d4d2ec70f295a4, type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
@ -295,6 +269,24 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 581322f036f3ff1448d4d2ec70f295a4, type: 3} 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:
<Paused>k__BackingField: 1
--- !u!114 &1464970062 stripped --- !u!114 &1464970062 stripped
MonoBehaviour: MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 1878107874314509256, guid: e1dac4f28fe75a547b919b7aa8240fed, type: 3} m_CorrespondingSourceObject: {fileID: 1878107874314509256, guid: e1dac4f28fe75a547b919b7aa8240fed, type: 3}
@ -327,7 +319,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1878107874060227351, guid: e1dac4f28fe75a547b919b7aa8240fed, type: 3} - target: {fileID: 1878107874060227351, guid: e1dac4f28fe75a547b919b7aa8240fed, type: 3}
propertyPath: m_RootOrder propertyPath: m_RootOrder
value: 3 value: 2
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1878107874060227351, guid: e1dac4f28fe75a547b919b7aa8240fed, type: 3} - target: {fileID: 1878107874060227351, guid: e1dac4f28fe75a547b919b7aa8240fed, type: 3}
propertyPath: m_AnchorMax.x propertyPath: m_AnchorMax.x
@ -422,6 +414,11 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 81a29b049c6380f4abb3c18ed121efcd, type: 3} m_Script: {fileID: 11500000, guid: 81a29b049c6380f4abb3c18ed121efcd, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: 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 --- !u!1001 &1942557562
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -429,17 +426,165 @@ PrefabInstance:
m_Modification: m_Modification:
m_TransformParent: {fileID: 0} m_TransformParent: {fileID: 0}
m_Modifications: 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} - target: {fileID: 1214567908930553477, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3}
propertyPath: m_ActionEvents.Array.data[13].m_PersistentCalls.m_Calls.Array.data[0].m_Target propertyPath: m_ActionEvents.Array.data[13].m_PersistentCalls.m_Calls.Array.data[0].m_Target
value: value:
objectReference: {fileID: 1551362087} 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} - target: {fileID: 1214567908930553593, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3}
propertyPath: m_Name propertyPath: m_Name
value: Vampire value: Vampire
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1214567908930553594, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} - target: {fileID: 1214567908930553594, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3}
propertyPath: m_RootOrder propertyPath: m_RootOrder
value: 1 value: 3
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1214567908930553594, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} - target: {fileID: 1214567908930553594, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
@ -481,25 +626,26 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1967503440015794769, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} - target: {fileID: 1214567908930553595, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3}
propertyPath: minionPrefabs.Array.size propertyPath: m_SortingOrder
value: 3 value: 0
objectReference: {fileID: 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} - target: {fileID: 3126145803593047825, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3}
propertyPath: healthBar propertyPath: healthBar
value: value:
objectReference: {fileID: 1464970062} 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: <Health>k__BackingField
value: 100
objectReference: {fileID: 0}
m_RemovedComponents:
- {fileID: 7731321959366517533, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3}
m_SourcePrefab: {fileID: 100100000, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3} m_SourcePrefab: {fileID: 100100000, guid: 3e0aae8cda56aef44af9598dc5471020, type: 3}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: c00861c3185f81f4984c70107e571f82 guid: ccd4cfe319c2d4d44b71ae684428bd43
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -7,6 +7,7 @@ public class BloodSucker : MonoBehaviour {
[SerializeField] float suckDuration = 1f; [SerializeField] float suckDuration = 1f;
[SerializeField] float suckRange = 1f; [SerializeField] float suckRange = 1f;
[SerializeField] float healthGainFromSuck = 30f;
Entity currentTarget; Entity currentTarget;
VampireEntity vampireEntity; VampireEntity vampireEntity;
@ -74,10 +75,12 @@ public class BloodSucker : MonoBehaviour {
currentSuckTimer -= deltaTime; currentSuckTimer -= deltaTime;
if (currentSuckTimer < 0f) { if (currentSuckTimer < 0f) {
currentTarget.bloodTokens -= 1; currentTarget.bloodTokens -= 1;
vampireEntity.HealDamage(healthGainFromSuck);
// print("One token sucked"); // print("One token sucked");
if (currentTarget.bloodTokens == 0) { if (currentTarget.bloodTokens == 0) {
SetTarget(null); SetTarget(null);
isSucking = false; isSucking = false;
// TODO : Dispawn target
} else { } else {
currentSuckTimer = suckDuration; currentSuckTimer = suckDuration;
} }
@ -85,11 +88,11 @@ public class BloodSucker : MonoBehaviour {
} }
void HighlightTarget() { void HighlightTarget() {
currentTarget.EnableHalo();
} }
void UnHighlightTarget() { void UnHighlightTarget() {
currentTarget.DisableHalo();
} }
} }

View File

@ -4,38 +4,46 @@ using NaughtyAttributes;
using UnityEngine; using UnityEngine;
[RequireComponent(typeof(Rigidbody2D))] [RequireComponent(typeof(Rigidbody2D))]
public class Entity : MonoBehaviour public class Entity : MonoBehaviour {
{ [SerializeField]
[SerializeField] [Required] [Required]
protected GameFlowManager gameFlowManager = null!; protected GameFlowManager gameFlowManager = null!;
[field: SerializeField] [field: Required] [field: SerializeField]
[field: Required]
protected EntityStats stats { get; private set; } protected EntityStats stats { get; private set; }
[field: SerializeField]public float Health {get; private set; } [field: SerializeField] public float Health { get; private set; }
[Min(10f)]
protected float initialHealth;
bool isAlive = true; bool isAlive = true;
public int bloodTokens = 1; public int bloodTokens = 1;
[field: SerializeField]public float movementSpeed{get; private set; } [field: SerializeField] public float movementSpeed { get; private set; }
[field: SerializeField]public float rotSpeed {get; private set; } [field: SerializeField] public float rotSpeed { get; private set; }
[SerializeField]private float fov; [SerializeField] private float fov;
[SerializeField]private float attackRange; [SerializeField] private float attackRange;
[field: SerializeField]public float attackDmg {get; private set; } [field: SerializeField] public float attackDmg { get; private set; }
[SerializeField]protected float attackCooldown; [SerializeField] protected float attackCooldown;
protected float attackTimer; protected float attackTimer;
[SerializeField]private Transform target; [SerializeField] private Transform target;
public string entityName {get; protected set; } public string entityName { get; protected set; }
private Collider atkCollider; private Collider atkCollider;
public Vector3 direction {get; set; } public Vector3 direction { get; set; }
public Rigidbody2D rb {get; private set;} public Rigidbody2D rb { get; private set; }
bool beingPushed; bool beingPushed;
[SerializeField] GameObject halo;
void Awake() => rb = GetComponent<Rigidbody2D>(); void Awake() => rb = GetComponent<Rigidbody2D>();
protected virtual void Start() { protected virtual void Start() {
direction = new Vector3(1,0,0); direction = new Vector3(1, 0, 0);
attackTimer = attackCooldown; attackTimer = attackCooldown;
initialHealth = Health;
if (halo != null) {
halo.SetActive(false);
}
} }
protected virtual void Update() {} protected virtual void Update() { }
protected virtual void FixedUpdate() { protected virtual void FixedUpdate() {
//TODO sqrMagnitude? //TODO sqrMagnitude?
@ -45,35 +53,35 @@ public class Entity : MonoBehaviour
} }
} }
protected virtual void Attack(){ protected virtual void Attack() {
} }
protected virtual void SpecialAttack(){ protected virtual void SpecialAttack() {
} }
protected virtual void MoveToTarget(){ protected virtual void MoveToTarget() {
//Would be nice if we could force this to be in FixedUpdate //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); direction = Vector3.RotateTowards(direction, (target.position - transform.position), rotSpeed * Time.fixedDeltaTime, 0.0f);
if(!IsInAttackRange()){ if (!IsInAttackRange()) {
rb.MovePosition(transform.position + direction * movementSpeed * Time.fixedDeltaTime); rb.MovePosition(transform.position + direction * movementSpeed * Time.fixedDeltaTime);
} }
} }
public void SetTarget(Transform newTarget){ public void SetTarget(Transform newTarget) {
target = newTarget; target = newTarget;
} }
public Transform GetTarget(){ public Transform GetTarget() {
return target; return target;
} }
//Apply damage to the entity, returns true if it is still alive //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; Health -= amount;
if(Health <= 0){ if (Health <= 0) {
isAlive = false; isAlive = false;
OnDied(); OnDied();
return false; return false;
@ -81,16 +89,23 @@ public class Entity : MonoBehaviour
return true; 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; return Vector2.Distance(transform.position, target.position) <= attackRange;
} }
protected bool IsLookingAtTarget(){ protected bool IsLookingAtTarget() {
float angle = Vector2.SignedAngle(direction, (target.position - transform.position)); float angle = Vector2.SignedAngle(direction, (target.position - transform.position));
return angle >= -fov && angle <= fov; return angle >= -fov && angle <= fov;
} }
public bool IsAlive(){ public bool IsAlive() {
return isAlive; return isAlive;
} }
@ -99,5 +114,13 @@ public class Entity : MonoBehaviour
rb.AddForce(impulse, ForceMode2D.Impulse); 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);
}
} }

View File

@ -7,14 +7,10 @@ public class VampireEntity : Entity {
[SerializeField] [Required] [SerializeField] [Required]
HealthBar healthBar; HealthBar healthBar;
[Min(10f)]
float initialHealth;
protected override void Start() { protected override void Start() {
base.Start(); base.Start();
base.entityName = "Vampire"; base.entityName = "Vampire";
initialHealth = Health;
} }
protected override void Update() { protected override void Update() {