From 043cb16c9e6c6a36f65a559c87db87a76338d948 Mon Sep 17 00:00:00 2001 From: mikeleo03 <leonmichael463@gmail.com> Date: Mon, 29 Apr 2024 10:02:18 +0700 Subject: [PATCH] feat : timer manager --- Assets/Scripts/GameManager.cs | 14 +++++++ Assets/Scripts/GameManager.cs.meta | 11 +++++ Assets/Scripts/Managers/GameOverManager.cs | 2 + Assets/Scripts/Managers/TimerManager.cs | 44 ++++++++++++++++++++ Assets/Scripts/Managers/TimerManager.cs.meta | 11 +++++ ProjectSettings/EditorBuildSettings.asset | 3 ++ 6 files changed, 85 insertions(+) create mode 100644 Assets/Scripts/GameManager.cs create mode 100644 Assets/Scripts/GameManager.cs.meta create mode 100644 Assets/Scripts/Managers/TimerManager.cs create mode 100644 Assets/Scripts/Managers/TimerManager.cs.meta diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs new file mode 100644 index 0000000..410fa29 --- /dev/null +++ b/Assets/Scripts/GameManager.cs @@ -0,0 +1,14 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.SceneManagement; + +public class GameManager : MonoBehaviour { + public void startGame() { + SceneManager.LoadScene(1); + } + + private void Awake() { + DontDestroyOnLoad(gameObject); + } +} diff --git a/Assets/Scripts/GameManager.cs.meta b/Assets/Scripts/GameManager.cs.meta new file mode 100644 index 0000000..e89abaa --- /dev/null +++ b/Assets/Scripts/GameManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f885ef90267c9e34886fc0ff0361d2da +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Managers/GameOverManager.cs b/Assets/Scripts/Managers/GameOverManager.cs index 5cfed51..1ff72d8 100644 --- a/Assets/Scripts/Managers/GameOverManager.cs +++ b/Assets/Scripts/Managers/GameOverManager.cs @@ -7,6 +7,7 @@ namespace Nightmare public class GameOverManager : MonoBehaviour { private PlayerHealth playerHealth; + [SerializeField] private TimerManager timerManager; Animator anim; LevelManager lm; @@ -28,6 +29,7 @@ namespace Nightmare void ShowGameOver() { anim.SetBool("GameOver", true); + timerManager.ResetTimer(); } private void ResetLevel() diff --git a/Assets/Scripts/Managers/TimerManager.cs b/Assets/Scripts/Managers/TimerManager.cs new file mode 100644 index 0000000..98c905b --- /dev/null +++ b/Assets/Scripts/Managers/TimerManager.cs @@ -0,0 +1,44 @@ +using System.Collections; +using System.Collections.Generic; +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +public class TimerManager : MonoBehaviour { + + public Text Timer; + private double time = 0; + private bool isRunning = false; + + private void Awake() { + StartTimer(); + } + + // Update is called once per frame + void Update() { + if (isRunning) { + time = time + Time.deltaTime; + } + string timeText = System.TimeSpan.FromSeconds(time).ToString("mm':'ss"); + Timer.text = timeText; + } + + public void ResetTimer() { + time = 0; + } + + public double TakeTime() { + StopTimer(); + var r = time; + ResetTimer(); + return r; + } + + public void StartTimer() { + isRunning = true; + } + + public void StopTimer() { + isRunning = false; + } +} diff --git a/Assets/Scripts/Managers/TimerManager.cs.meta b/Assets/Scripts/Managers/TimerManager.cs.meta new file mode 100644 index 0000000..b3276fd --- /dev/null +++ b/Assets/Scripts/Managers/TimerManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ba9cb599a6b30804b9567e87aa4422e7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index f1991a2..aa5dcc5 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -5,6 +5,9 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 m_Scenes: + - enabled: 1 + path: Assets/Scenes/Menu.unity + guid: 36e3c5cd16db60e40bb73a4facc7eecd - enabled: 1 path: Assets/Scenes/Main.unity guid: 11930b577543f644eb2aed6e2001fd38 -- GitLab