diff --git a/Assets/Prefabs/Gladiator.prefab b/Assets/Prefabs/Gladiator.prefab index 8437100..5621b32 100644 --- a/Assets/Prefabs/Gladiator.prefab +++ b/Assets/Prefabs/Gladiator.prefab @@ -9,11 +9,10 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 197677485360569565} - - component: {fileID: 197677485360569564} - - component: {fileID: 197677485360569563} - component: {fileID: 197677485360569566} - component: {fileID: 3988163462708087662} - component: {fileID: 2142155588016984618} + - component: {fileID: -8195126358453283336} m_Layer: 0 m_Name: Gladiator m_TagString: Gladiator @@ -37,55 +36,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &197677485360569564 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 197677485360569561} - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &197677485360569563 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 197677485360569561} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, 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: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!114 &197677485360569566 MonoBehaviour: m_ObjectHideFlags: 0 @@ -110,6 +60,8 @@ MonoBehaviour: attackCooldown: 1 target: {fileID: 0} halo: {fileID: 3772547392739388838} + deadColor: {r: 0.7075472, g: 0.030037368, b: 0.030037368, a: 1} + emptyColor: {r: 0.5660378, g: 0.5660378, b: 0.5660378, a: 0.4117647} AIStats: {fileID: 11400000, guid: 9d8a9a664d932d0498d5eca7607eeb53, type: 2} --- !u!58 &3988163462708087662 CircleCollider2D: @@ -148,6 +100,57 @@ Rigidbody2D: m_SleepingMode: 1 m_CollisionDetection: 0 m_Constraints: 4 +--- !u!212 &-8195126358453283336 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 197677485360569561} + 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: -1438510283 + m_SortingLayer: 1 + m_SortingOrder: 0 + m_Sprite: {fileID: -2413806693520163455, guid: 4adeaf2d2b1c7417e89f026626d8264f, type: 3} + m_Color: {r: 0.04774831, g: 0.2735849, b: 0.08162382, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &3772547392739388838 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/Health Bar Canvas.prefab b/Assets/Prefabs/Health Bar Canvas.prefab index 2bfdefb..7378fc2 100644 --- a/Assets/Prefabs/Health Bar Canvas.prefab +++ b/Assets/Prefabs/Health Bar Canvas.prefab @@ -57,7 +57,7 @@ Canvas: m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 m_AdditionalShaderChannelsFlag: 0 - m_SortingLayerID: 0 + m_SortingLayerID: -1438510283 m_SortingOrder: 0 m_TargetDisplay: 0 --- !u!114 &2962150094107129824 diff --git a/Assets/Prefabs/Monster.prefab b/Assets/Prefabs/Monster.prefab index 99d8895..aaecdb6 100644 --- a/Assets/Prefabs/Monster.prefab +++ b/Assets/Prefabs/Monster.prefab @@ -91,11 +91,10 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2399377275812995968} - - component: {fileID: 2399377275812995969} - - component: {fileID: 2399377275812995970} - component: {fileID: 2399377275812995974} - component: {fileID: 1427479462206541758} - component: {fileID: 8912459659685944407} + - component: {fileID: 7325874221449804585} m_Layer: 0 m_Name: Monster m_TagString: Monster @@ -119,55 +118,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &2399377275812995969 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2399377275812995980} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &2399377275812995970 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2399377275812995980} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, 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: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!114 &2399377275812995974 MonoBehaviour: m_ObjectHideFlags: 0 @@ -192,6 +142,8 @@ MonoBehaviour: attackCooldown: 1 target: {fileID: 0} halo: {fileID: 160873202674104038} + deadColor: {r: 0.7058824, g: 0.03137255, b: 0.03137255, a: 1} + emptyColor: {r: 0.5647059, g: 0.5647059, b: 0.5647059, a: 0.4117647} AIStats: {fileID: 11400000, guid: 9d8a9a664d932d0498d5eca7607eeb53, type: 2} --- !u!50 &1427479462206541758 Rigidbody2D: @@ -230,6 +182,57 @@ CircleCollider2D: m_Offset: {x: 0, y: 0} serializedVersion: 2 m_Radius: 0.5 +--- !u!212 &7325874221449804585 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2399377275812995980} + 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: -1438510283 + m_SortingLayer: 1 + m_SortingOrder: 0 + m_Sprite: {fileID: -5177388603050735206, guid: 71ebafeef3c03457483266a33ab2b270, type: 3} + m_Color: {r: 0.14929691, g: 0.18158285, b: 0.5754717, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1001 &4861301622389167767 PrefabInstance: m_ObjectHideFlags: 0 @@ -237,6 +240,10 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 2399377275812995968} m_Modifications: + - target: {fileID: 2962150094107129825, guid: d1d8f8326b5490848a9400aa9bd6b2f4, type: 3} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} - target: {fileID: 2962150094107129826, guid: d1d8f8326b5490848a9400aa9bd6b2f4, type: 3} propertyPath: m_Name value: Health Bar Canvas @@ -333,6 +340,10 @@ PrefabInstance: propertyPath: m_AnchorMax.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 2962150095602046905, guid: d1d8f8326b5490848a9400aa9bd6b2f4, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: d1d8f8326b5490848a9400aa9bd6b2f4, type: 3} --- !u!224 &7668921808236339569 stripped diff --git a/Assets/Prefabs/Vampire.prefab b/Assets/Prefabs/Vampire.prefab index 69f413b..9c24056 100644 --- a/Assets/Prefabs/Vampire.prefab +++ b/Assets/Prefabs/Vampire.prefab @@ -72,12 +72,14 @@ MonoBehaviour: k__BackingField: 0 k__BackingField: 0 fov: 0 - attackRange: 0 + k__BackingField: 0 k__BackingField: 0 attackCooldown: 0 target: {fileID: 0} + halo: {fileID: 0} + deadColor: {r: 1, g: 0, b: 0, a: 1} + emptyColor: {r: 1, g: 0, b: 0, a: 1} playerStats: {fileID: 11400000, guid: 12a626b5a296d934ba078d222ad6ba98, type: 2} - healthBar: {fileID: 0} --- !u!114 &1967503440015794769 MonoBehaviour: m_ObjectHideFlags: 0 @@ -145,11 +147,11 @@ SpriteRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 + m_SortingLayerID: 603553691 + m_SortingLayer: 2 m_SortingOrder: 0 m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Color: {r: 0.03226238, g: 0.0766813, b: 0.23584908, a: 1} m_FlipX: 0 m_FlipY: 0 m_DrawMode: 0 diff --git a/Assets/Scripts/AIEntity.cs b/Assets/Scripts/AIEntity.cs index fd8fd6b..b63a5ab 100644 --- a/Assets/Scripts/AIEntity.cs +++ b/Assets/Scripts/AIEntity.cs @@ -20,11 +20,13 @@ public class AIEntity : Entity } override protected void Update() { + base.Update(); if (currentState.UpdateState() is {} newState) SwitchState(newState); } override protected void FixedUpdate() { + base.FixedUpdate(); if (currentState.FixedUpdateState() is {} newState) SwitchState(newState); } @@ -184,7 +186,7 @@ public class AIEntity : Entity class DeadState : BaseStateAI{ public DeadState(AIEntity entity) : base(entity){ - Debug.Log("Dead!"); + } public override BaseState? UpdateState(){ diff --git a/Assets/Scripts/Entity.cs b/Assets/Scripts/Entity.cs index 538caad..5010864 100644 --- a/Assets/Scripts/Entity.cs +++ b/Assets/Scripts/Entity.cs @@ -27,13 +27,20 @@ public class Entity : MonoBehaviour { protected float attackTimer; [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 Collider2D collider { get; private set; } + public SpriteRenderer renderer { get; private set; } bool beingPushed; [SerializeField] GameObject halo; + [SerializeField] Color deadColor = Color.red; + [SerializeField] Color emptyColor = Color.grey; - virtual protected void Awake() => rb = GetComponent(); + virtual protected void Awake(){ + rb = GetComponent(); + collider = GetComponent(); + renderer = GetComponent(); + } protected virtual void Start() { direction = new Vector3(1, 0, 0); @@ -120,7 +127,28 @@ public class Entity : MonoBehaviour { rb.AddForce(impulse, ForceMode2D.Impulse); } - protected virtual void OnDied() { } + protected virtual void OnDied() { + if(!(collider is null)){ + collider.isTrigger = true; + } + if(!(rb is null)){ + rb.isKinematic = true; + rb.velocity = Vector2.zero; + } + healthBar.gameObject.SetActive(false); + if(bloodTokens > 0){ + renderer.color = deadColor; + renderer.sortingOrder = -1; + }else{ + renderer.color = emptyColor; + renderer.sortingOrder = -2; + } + } + + protected virtual void OnEmpty(){ + renderer.color = emptyColor; + renderer.sortingOrder = -2; + } public void EnableHalo() { halo.SetActive(true); diff --git a/Assets/Scripts/Gladiator.cs b/Assets/Scripts/Gladiator.cs index eba6602..645a3d0 100644 --- a/Assets/Scripts/Gladiator.cs +++ b/Assets/Scripts/Gladiator.cs @@ -12,6 +12,13 @@ public class Gladiator : AIEntity base.enemies = new string[]{"Monster", "Vampire"}; } + override protected void Update(){ + base.Update(); + if(bloodTokens <= 0){ + OnEmpty(); + } + } + override protected bool IsTargetable(Entity other){ foreach (string name in enemies){ if(other.entityName == name && other.IsAlive()){ diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 5499c00..fcb1929 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -46,3 +46,9 @@ TagManager: - name: Default uniqueID: 0 locked: 0 + - name: AI + uniqueID: 2856457013 + locked: 0 + - name: Player + uniqueID: 603553691 + locked: 0