summaryrefslogtreecommitdiff
path: root/AlienSurvival/Assets/Scripts/Utils
diff options
context:
space:
mode:
Diffstat (limited to 'AlienSurvival/Assets/Scripts/Utils')
-rw-r--r--AlienSurvival/Assets/Scripts/Utils/GameLoop.cs13
-rw-r--r--AlienSurvival/Assets/Scripts/Utils/Singleton.cs24
-rw-r--r--AlienSurvival/Assets/Scripts/Utils/Singleton.cs.meta11
-rw-r--r--AlienSurvival/Assets/Scripts/Utils/TinyCountDown.cs48
-rw-r--r--AlienSurvival/Assets/Scripts/Utils/TinyCountDown.cs.meta11
5 files changed, 100 insertions, 7 deletions
diff --git a/AlienSurvival/Assets/Scripts/Utils/GameLoop.cs b/AlienSurvival/Assets/Scripts/Utils/GameLoop.cs
index 6bbb140..6ae7d87 100644
--- a/AlienSurvival/Assets/Scripts/Utils/GameLoop.cs
+++ b/AlienSurvival/Assets/Scripts/Utils/GameLoop.cs
@@ -2,18 +2,17 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
-public class GameLoop : MonoBehaviour
+public class GameLoop : Singleton<GameLoop>
{
- static public GameLoop Instance { get; private set; }
- public int indexOfUpdate { get; private set; } = 0;
-
- private void Awake()
+ public GameLoop()
{
- Instance = this;
+ indexOfUpdate = 0;
}
- private void Update()
+ public int indexOfUpdate { get; private set; } = 0;
+
+ public void Update()
{
++indexOfUpdate;
}
diff --git a/AlienSurvival/Assets/Scripts/Utils/Singleton.cs b/AlienSurvival/Assets/Scripts/Utils/Singleton.cs
new file mode 100644
index 0000000..d7aad49
--- /dev/null
+++ b/AlienSurvival/Assets/Scripts/Utils/Singleton.cs
@@ -0,0 +1,24 @@
+public class Singleton<T> where T : class, new()
+{
+ private static T _instance;
+ private static readonly object syslock = new object();
+
+ public static T Instance
+ {
+ get
+ {
+ if (_instance == null)
+ {
+ lock (syslock)
+ {
+ if (_instance == null)
+ {
+ _instance = new T();
+ }
+ }
+ }
+ return _instance;
+
+ }
+ }
+} \ No newline at end of file
diff --git a/AlienSurvival/Assets/Scripts/Utils/Singleton.cs.meta b/AlienSurvival/Assets/Scripts/Utils/Singleton.cs.meta
new file mode 100644
index 0000000..ff0aab9
--- /dev/null
+++ b/AlienSurvival/Assets/Scripts/Utils/Singleton.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1b80a3ccdebef4b4db85130a4bde2d00
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/AlienSurvival/Assets/Scripts/Utils/TinyCountDown.cs b/AlienSurvival/Assets/Scripts/Utils/TinyCountDown.cs
new file mode 100644
index 0000000..dbeae55
--- /dev/null
+++ b/AlienSurvival/Assets/Scripts/Utils/TinyCountDown.cs
@@ -0,0 +1,48 @@
+using System.Linq;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class TinyCountDown :Singleton<TinyCountDown>
+{
+
+ private Dictionary<string, float> m_CountDown = new Dictionary<string, float>();
+ public TinyCountDown()
+ {
+ }
+
+ public void Set(string key, float time)
+ {
+ if (!m_CountDown.ContainsKey(key))
+ {
+ m_CountDown.Add(key, time);
+ }
+ else
+ {
+ m_CountDown[key] = time;
+ }
+ }
+
+ public float Get(string key)
+ {
+ if (m_CountDown.ContainsKey(key))
+ {
+ return m_CountDown[key];
+ }
+ return 0;
+ }
+
+ public void Update()
+ {
+ List<string> keys = new List<string>(m_CountDown.Keys);
+ foreach (var key in keys)
+ {
+ m_CountDown[key] -= Time.deltaTime;
+ if(m_CountDown[key] <= 0)
+ {
+ m_CountDown.Remove(key);
+ }
+ }
+
+ }
+}
diff --git a/AlienSurvival/Assets/Scripts/Utils/TinyCountDown.cs.meta b/AlienSurvival/Assets/Scripts/Utils/TinyCountDown.cs.meta
new file mode 100644
index 0000000..c9f5545
--- /dev/null
+++ b/AlienSurvival/Assets/Scripts/Utils/TinyCountDown.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: de0d1a4a5baf48a4083e5d7f457ea8b0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: