diff --git a/Assets/Prefabs/Enemies/ZomBoss.prefab b/Assets/Prefabs/Enemies/ZomBoss.prefab index 52f2956f6d32f4fd398be6c87b651626c80b91e3..e8bc27fcc8ff152599dffd083ec4f08930ac4f28 100644 --- a/Assets/Prefabs/Enemies/ZomBoss.prefab +++ b/Assets/Prefabs/Enemies/ZomBoss.prefab @@ -11514,7 +11514,7 @@ GameObject: - component: {fileID: 3853635559192110747} m_Layer: 6 m_Name: ZomBoss - m_TagString: Enemy + m_TagString: ZomBoss m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -11653,7 +11653,7 @@ NavMeshAgent: m_Enabled: 1 m_AgentTypeID: 0 m_Radius: 0.3 - m_Speed: 10 + m_Speed: 3 m_Acceleration: 8 avoidancePriority: 50 m_AngularSpeed: 120 diff --git a/Assets/Scenes/Level01.unity b/Assets/Scenes/Level01.unity index ca6283f26441b8a1e6beae6e84a89f8e2c082e7f..1bdb5b6b76b9643abc20dc3bb524a0f5a0ee77fd 100644 --- a/Assets/Scenes/Level01.unity +++ b/Assets/Scenes/Level01.unity @@ -4312,6 +4312,7 @@ GameObject: - component: {fileID: 564408466} - component: {fileID: 564408467} - component: {fileID: 564408469} + - component: {fileID: 564408470} m_Layer: 0 m_Name: QuestManager m_TagString: Untagged @@ -4361,6 +4362,27 @@ MonoBehaviour: m_EditorClassIdentifier: countdownDuration: 60 countdownText: {fileID: 961404588} +--- !u!114 &564408470 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 564408465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 968a27402fad6a3419d87534e3041d0b, type: 3} + m_Name: + m_EditorClassIdentifier: + player: {fileID: 983415150} + gameOverCanvas: {fileID: 1043811712} + hideCanvases: + - {fileID: 1040537962} + - {fileID: 925634760} + - {fileID: 307935221} + - {fileID: 840882473} + delayBeforeGameOver: 3 + delayBeforeReturnToMainMenu: 9 --- !u!1 &565277084 GameObject: m_ObjectHideFlags: 0 @@ -4917,53 +4939,6 @@ BoxCollider: serializedVersion: 3 m_Size: {x: 3.3116446, y: 2.192453, z: 2.6247911} m_Center: {x: -0.79214984, y: -0.16078353, z: 1.0321355} ---- !u!1 &617656911 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 617656912} - - component: {fileID: 617656913} - m_Layer: 0 - m_Name: GameOverManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &617656912 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 617656911} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1165414997} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &617656913 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 617656911} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 968a27402fad6a3419d87534e3041d0b, type: 3} - m_Name: - m_EditorClassIdentifier: - player: {fileID: 983415150} - gameOverCanvas: {fileID: 1043811712} - delayBeforeGameOver: 3 --- !u!1 &624032726 GameObject: m_ObjectHideFlags: 0 @@ -6503,7 +6478,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 617656913} + - m_Target: {fileID: 564408470} m_TargetAssemblyTypeName: Nightmare.GameOverManager, Assembly-CSharp m_MethodName: GoToMainMenu m_Mode: 1 @@ -7453,7 +7428,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &925634761 RectTransform: m_ObjectHideFlags: 0 @@ -9970,7 +9945,6 @@ Transform: - {fileID: 564408466} - {fileID: 1967859029} - {fileID: 522075883} - - {fileID: 617656912} - {fileID: 1561614410} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -11818,7 +11792,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 617656913} + - m_Target: {fileID: 564408470} m_TargetAssemblyTypeName: Nightmare.GameOverManager, Assembly-CSharp m_MethodName: ResetLevel m_Mode: 1 @@ -15940,7 +15914,7 @@ MonoBehaviour: starText: {fileID: 374433001} completedText: {fileID: 2023060740} timeTextParent: {fileID: 1683328810} - nextButtonCanvas: {fileID: 925634760} + nextButton: {fileID: 794014896} --- !u!1 &1972235736 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/Level02.unity b/Assets/Scenes/Level02.unity index faf5c61f773f54e378b814989d5645e6833362ae..7fd3909de5265632a0072286374c6ecae65d6b5b 100644 --- a/Assets/Scenes/Level02.unity +++ b/Assets/Scenes/Level02.unity @@ -1727,53 +1727,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 152646567} m_CullTransparentMesh: 1 ---- !u!1 &165511793 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 165511794} - - component: {fileID: 165511795} - m_Layer: 0 - m_Name: GameOverManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &165511794 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 165511793} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1165414997} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &165511795 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 165511793} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 968a27402fad6a3419d87534e3041d0b, type: 3} - m_Name: - m_EditorClassIdentifier: - player: {fileID: 944601036} - gameOverCanvas: {fileID: 82243540} - delayBeforeGameOver: 3 --- !u!1 &172806986 GameObject: m_ObjectHideFlags: 0 @@ -5124,6 +5077,7 @@ GameObject: - component: {fileID: 564408467} - component: {fileID: 564408469} - component: {fileID: 564408468} + - component: {fileID: 564408470} m_Layer: 0 m_Name: QuestManager m_TagString: Untagged @@ -5189,6 +5143,27 @@ MonoBehaviour: enemy: {fileID: 100000, guid: ea3c2728ef33e3a4d99527a86cda6465, type: 3} progress: {fileID: 960047557} killAmount: 2 +--- !u!114 &564408470 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 564408465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 968a27402fad6a3419d87534e3041d0b, type: 3} + m_Name: + m_EditorClassIdentifier: + player: {fileID: 944601036} + gameOverCanvas: {fileID: 82243540} + hideCanvases: + - {fileID: 1040537962} + - {fileID: 1160697637} + - {fileID: 307935221} + - {fileID: 840882473} + delayBeforeGameOver: 3 + delayBeforeReturnToMainMenu: 9 --- !u!1 &565277084 GameObject: m_ObjectHideFlags: 0 @@ -7721,7 +7696,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 165511795} + - m_Target: {fileID: 564408470} m_TargetAssemblyTypeName: Nightmare.GameOverManager, Assembly-CSharp m_MethodName: GoToMainMenu m_Mode: 1 @@ -10680,7 +10655,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!114 &1160697638 MonoBehaviour: m_ObjectHideFlags: 0 @@ -10801,7 +10776,6 @@ Transform: - {fileID: 564408466} - {fileID: 1967859029} - {fileID: 522075883} - - {fileID: 165511794} - {fileID: 621999674} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -13747,7 +13721,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 165511795} + - m_Target: {fileID: 564408470} m_TargetAssemblyTypeName: Nightmare.GameOverManager, Assembly-CSharp m_MethodName: ResetLevel m_Mode: 1 @@ -16210,7 +16184,7 @@ MonoBehaviour: starText: {fileID: 374433001} completedText: {fileID: 2023060740} timeTextParent: {fileID: 1683328810} - nextButtonCanvas: {fileID: 1160697637} + nextButton: {fileID: 2665492} --- !u!1 &1978917666 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/Level03.unity b/Assets/Scenes/Level03.unity index 86982f82cbf5e08848a9426644c495a2932b0291..ebbcdeb7a1e261ce073459cb213fcb9dd87dc90d 100644 --- a/Assets/Scenes/Level03.unity +++ b/Assets/Scenes/Level03.unity @@ -3999,53 +3999,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 495115668} m_CullTransparentMesh: 1 ---- !u!1 &496357858 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 496357860} - - component: {fileID: 496357859} - m_Layer: 0 - m_Name: GameOverManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &496357859 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 496357858} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 968a27402fad6a3419d87534e3041d0b, type: 3} - m_Name: - m_EditorClassIdentifier: - player: {fileID: 944601036} - gameOverCanvas: {fileID: 1627552658} - delayBeforeGameOver: 3 ---- !u!4 &496357860 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 496357858} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1165414997} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &498801680 GameObject: m_ObjectHideFlags: 0 @@ -4760,6 +4713,7 @@ GameObject: - component: {fileID: 564408468} - component: {fileID: 564408470} - component: {fileID: 564408471} + - component: {fileID: 564408472} m_Layer: 0 m_Name: QuestManager m_TagString: Untagged @@ -4854,6 +4808,27 @@ MonoBehaviour: m_EditorClassIdentifier: countdownDuration: 120 countdownText: {fileID: 961404588} +--- !u!114 &564408472 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 564408465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 968a27402fad6a3419d87534e3041d0b, type: 3} + m_Name: + m_EditorClassIdentifier: + player: {fileID: 944601036} + gameOverCanvas: {fileID: 1627552658} + hideCanvases: + - {fileID: 1040537962} + - {fileID: 1953354584} + - {fileID: 307935221} + - {fileID: 840882473} + delayBeforeGameOver: 3 + delayBeforeReturnToMainMenu: 9 --- !u!1 &565277084 GameObject: m_ObjectHideFlags: 0 @@ -7953,7 +7928,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 496357859} + - m_Target: {fileID: 564408472} m_TargetAssemblyTypeName: Nightmare.GameOverManager, Assembly-CSharp m_MethodName: ResetLevel m_Mode: 1 @@ -9882,7 +9857,6 @@ Transform: - {fileID: 564408466} - {fileID: 1967859029} - {fileID: 522075883} - - {fileID: 496357860} - {fileID: 1302562482} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -15768,7 +15742,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 496357859} + - m_Target: {fileID: 564408472} m_TargetAssemblyTypeName: Nightmare.GameOverManager, Assembly-CSharp m_MethodName: GoToMainMenu m_Mode: 1 @@ -16373,7 +16347,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!114 &1953354585 MonoBehaviour: m_ObjectHideFlags: 0 @@ -16644,7 +16618,7 @@ MonoBehaviour: starText: {fileID: 374433001} completedText: {fileID: 2023060740} timeTextParent: {fileID: 1683328810} - nextButtonCanvas: {fileID: 1953354584} + nextButton: {fileID: 1850578051} --- !u!1 &1978917666 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/Level04.unity b/Assets/Scenes/Level04.unity index 58df33002c1c5b11aa20950cd35e78b77944374a..ff3f165e49c76a24d519e240644c283656db4b47 100644 --- a/Assets/Scenes/Level04.unity +++ b/Assets/Scenes/Level04.unity @@ -614,7 +614,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 187874336} + - m_Target: {fileID: 564408469} m_TargetAssemblyTypeName: Nightmare.GameOverManager, Assembly-CSharp m_MethodName: ResetLevel m_Mode: 1 @@ -1294,53 +1294,6 @@ Transform: - {fileID: 1591569081} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &187874335 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 187874337} - - component: {fileID: 187874336} - m_Layer: 0 - m_Name: GameOverManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &187874336 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 187874335} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 968a27402fad6a3419d87534e3041d0b, type: 3} - m_Name: - m_EditorClassIdentifier: - player: {fileID: 944601036} - gameOverCanvas: {fileID: 835436665} - delayBeforeGameOver: 3 ---- !u!4 &187874337 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 187874335} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1165414997} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &195458273 GameObject: m_ObjectHideFlags: 0 @@ -4031,6 +3984,7 @@ GameObject: - component: {fileID: 564408466} - component: {fileID: 564408467} - component: {fileID: 564408468} + - component: {fileID: 564408469} m_Layer: 0 m_Name: QuestManager m_TagString: Untagged @@ -4078,9 +4032,30 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a2635da5b6d41be469dbca8842ab259b, type: 3} m_Name: m_EditorClassIdentifier: - enemy: {fileID: 744905642} + enemy: {fileID: 4493914613880827488, guid: 6dc4cf4496348884d8ee27743ae38562, type: 3} progress: {fileID: 320037319} killAmount: 1 +--- !u!114 &564408469 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 564408465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 968a27402fad6a3419d87534e3041d0b, type: 3} + m_Name: + m_EditorClassIdentifier: + player: {fileID: 944601036} + gameOverCanvas: {fileID: 835436665} + hideCanvases: + - {fileID: 1040537962} + - {fileID: 1935635697} + - {fileID: 307935221} + - {fileID: 840882473} + delayBeforeGameOver: 3 + delayBeforeReturnToMainMenu: 6 --- !u!1 &565277084 GameObject: m_ObjectHideFlags: 0 @@ -5920,10 +5895,6 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 785235877200365239, guid: 6dc4cf4496348884d8ee27743ae38562, type: 3} - propertyPath: m_Speed - value: 3 - objectReference: {fileID: 0} - target: {fileID: 4493914613880827488, guid: 6dc4cf4496348884d8ee27743ae38562, type: 3} propertyPath: m_Name value: ZomBoss @@ -5933,11 +5904,6 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 6dc4cf4496348884d8ee27743ae38562, type: 3} ---- !u!1 &744905642 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 4493914613880827488, guid: 6dc4cf4496348884d8ee27743ae38562, type: 3} - m_PrefabInstance: {fileID: 744905641} - m_PrefabAsset: {fileID: 0} --- !u!1 &752496180 GameObject: m_ObjectHideFlags: 0 @@ -9436,7 +9402,6 @@ Transform: - {fileID: 564408466} - {fileID: 1967859029} - {fileID: 522075883} - - {fileID: 187874337} - {fileID: 1473698046} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -14025,7 +13990,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 187874336} + - m_Target: {fileID: 564408469} m_TargetAssemblyTypeName: Nightmare.GameOverManager, Assembly-CSharp m_MethodName: GoToMainMenu m_Mode: 1 @@ -16094,7 +16059,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!114 &1935635698 MonoBehaviour: m_ObjectHideFlags: 0 @@ -16445,7 +16410,7 @@ MonoBehaviour: starText: {fileID: 374433001} completedText: {fileID: 2023060740} timeTextParent: {fileID: 1683328810} - nextButtonCanvas: {fileID: 1935635697} + nextButton: {fileID: 840393620} --- !u!1 &1978917666 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Managers/GameOverManager.cs b/Assets/Scripts/Managers/GameOverManager.cs index 9fd4cf45f8705c1c14c9323ed2d6b8416bc89199..6eb8a464d542656d5df3bee0651434c586353754 100644 --- a/Assets/Scripts/Managers/GameOverManager.cs +++ b/Assets/Scripts/Managers/GameOverManager.cs @@ -1,6 +1,4 @@ -using System.Collections; -using System.Threading; -using UnityEngine; +using UnityEngine; using UnityEngine.SceneManagement; namespace Nightmare @@ -9,7 +7,12 @@ namespace Nightmare { public PlayerHealth player; public Canvas gameOverCanvas; + public GameObject[] hideCanvases; public float delayBeforeGameOver = 3f; // Delay in seconds + public float delayBeforeReturnToMainMenu = 9f; // Delay in seconds before returning to main menu + + private float gameOverTimer = 0f; + private float returnToMainMenuTimer = 0f; void Awake() { @@ -18,27 +21,46 @@ namespace Nightmare void Update() { - // Check if the player's health is dead - if (player.isDead) + if (player.isDead && gameOverTimer <= 0f) { + gameOverTimer = delayBeforeGameOver; // Perform actions for game over (reset level, display game over screen, etc.) - StartCoroutine(ShowGameOverCanvasWithDelay(delayBeforeGameOver)); + ShowGameOverCanvas(); } - } - IEnumerator ShowGameOverCanvasWithDelay(float delay) - { - yield return new WaitForSeconds(delay); - ShowGameOverCanvas(); + if (gameOverTimer > 0f) + { + gameOverTimer -= Time.deltaTime; + if (gameOverTimer <= 0f) + { + returnToMainMenuTimer = delayBeforeReturnToMainMenu; + GoToMainMenu(); + } + } + + if (returnToMainMenuTimer > 0f) + { + returnToMainMenuTimer -= Time.deltaTime; + if (returnToMainMenuTimer <= 0f) + { + GoToMainMenu(); + } + } } - void ShowGameOverCanvas() + public void ShowGameOverCanvas() { + foreach (GameObject canvas in hideCanvases) + { + canvas.SetActive(false); + } gameOverCanvas.gameObject.SetActive(true); } public void ResetLevel() { + gameOverTimer = 0f; + returnToMainMenuTimer = 0f; CurrentStateData.SetCurrentStar(0); player.ResetPlayer(); SceneManager.LoadScene("Level01"); @@ -46,6 +68,10 @@ namespace Nightmare public void GoToMainMenu() { + gameOverTimer = 0f; + returnToMainMenuTimer = 0f; + CurrentStateData.SetCurrentStar(0); + player.ResetPlayer(); SceneManager.LoadScene("MainMenu"); } } diff --git a/Assets/Scripts/Managers/HUDCanvasManager.cs b/Assets/Scripts/Managers/HUDCanvasManager.cs index 3ba79b2a92d166256d1dc3b762ff5653d330f33f..9adf47e8107570c70323f21118e14e6a00182de2 100644 --- a/Assets/Scripts/Managers/HUDCanvasManager.cs +++ b/Assets/Scripts/Managers/HUDCanvasManager.cs @@ -8,7 +8,7 @@ namespace Nightmare public TMP_Text starText; public TMP_Text completedText; public GameObject timeTextParent; - public GameObject nextButtonCanvas; + public GameObject nextButton; void Start() { @@ -26,7 +26,7 @@ namespace Nightmare starText.text = "My Star: " + CurrentStateData.GetCurrentStar(); completedText.gameObject.SetActive(isQuestCompleted); timeTextParent.SetActive(!isQuestCompleted); - nextButtonCanvas.SetActive(isQuestCompleted); + nextButton.SetActive(isQuestCompleted); } } } diff --git a/Assets/Scripts/Managers/NextSceneManager.cs b/Assets/Scripts/Managers/NextSceneManager.cs index f9d5f02df0d849f9c910b0e32dd5a95339960b3a..ececd138ea6cc337307f545b7855b40e70d63c42 100644 --- a/Assets/Scripts/Managers/NextSceneManager.cs +++ b/Assets/Scripts/Managers/NextSceneManager.cs @@ -28,6 +28,7 @@ namespace Nightmare public void NextWithoutSave() { + QuestManager.ClearObjectives(); CurrentStateData.ChangeScene(scene); SceneManager.LoadScene(scene); } diff --git a/Assets/Scripts/Managers/QuestManager.cs b/Assets/Scripts/Managers/QuestManager.cs index 3ee0dbd76a5f7ec77f49727551b108a8f2020950..22d995f56379da5020b1cf698c7b31d1eff0ea63 100644 --- a/Assets/Scripts/Managers/QuestManager.cs +++ b/Assets/Scripts/Managers/QuestManager.cs @@ -7,6 +7,7 @@ namespace Nightmare { private static List<EnemyObjectiveManager> _enemyObjectiveManagers = new List<EnemyObjectiveManager>(); private static TimeObjectiveManager _timeObjectiveManager; + private static GameOverManager _gameOverManager; public int rewardCompletion; private bool _added; @@ -15,6 +16,7 @@ namespace Nightmare { _enemyObjectiveManagers.AddRange(GetComponents<EnemyObjectiveManager>()); _timeObjectiveManager = GetComponent<TimeObjectiveManager>(); + _gameOverManager = GetComponent<GameOverManager>(); } private void Update() @@ -46,7 +48,18 @@ namespace Nightmare { if (_timeObjectiveManager != null && _timeObjectiveManager.IsCompleted()) { - return true; // If time objective is completed, return true immediately. + if (_enemyObjectiveManagers.Count != 0) // If there are enemy objectives + { + _gameOverManager!.player.isDead = true; + return false; + } + + if (_gameOverManager!.player.isDead) + { + return false; + } + + return true; // If time objective is completed, return true immediately. } if (_enemyObjectiveManagers.Count != 0) // If there are enemy objectives @@ -58,9 +71,13 @@ namespace Nightmare } return enemiesCompleted; // Return the status of enemy objectives. } + + return false; + } - return false; // Default return if no enemy objectives and time objective is not completed. - + public static void ClearObjectives() + { + _enemyObjectiveManagers.Clear(); } } } diff --git a/Assets/Scripts/Player/PlayerHealth.cs b/Assets/Scripts/Player/PlayerHealth.cs index 5c6c6961e7fd6f4e42d1f178304d66dadd0058dc..f1f60909723981b68b4f92b0c95c517d262a2d4c 100644 --- a/Assets/Scripts/Player/PlayerHealth.cs +++ b/Assets/Scripts/Player/PlayerHealth.cs @@ -45,7 +45,6 @@ namespace Nightmare anim.SetBool("IsDead", false); } - void Update() { // If the player has just been damaged... @@ -63,8 +62,12 @@ namespace Nightmare // Reset the damaged flag. damaged = false; - } + if (isDead) + { + Death(); + } + } public void TakeDamage(int amount) { @@ -95,6 +98,7 @@ namespace Nightmare { // Set the death flag so this function won't be called again. isDead = true; + currentHealth = 0; // Turn off any remaining shooting effects. playerShooting.DisableEffects(); diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index d2a281b072bc000e18f17175c3e1b775b93b86e2..22041d6ee6bc0544381a66b472b4214c60a8da54 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -8,6 +8,7 @@ TagManager: - Hellephant - ZomBear - ZomBunny + - ZomBoss layers: - Default - TransparentFX