diff options
Diffstat (limited to 'AlienSurvival/Assets/Scripts')
-rw-r--r-- | AlienSurvival/Assets/Scripts/GameApp.cs | 25 | ||||
-rw-r--r-- | AlienSurvival/Assets/Scripts/GameApp.cs.meta | 11 | ||||
-rw-r--r-- | AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs | 5 | ||||
-rw-r--r-- | AlienSurvival/Assets/Scripts/TopDown/TopDownUtils.cs | 25 | ||||
-rw-r--r-- | AlienSurvival/Assets/Scripts/TopDown/TopDownUtils.cs.meta | 11 | ||||
-rw-r--r-- | AlienSurvival/Assets/Scripts/Utils/GameLoop.cs | 13 | ||||
-rw-r--r-- | AlienSurvival/Assets/Scripts/Utils/Singleton.cs | 24 | ||||
-rw-r--r-- | AlienSurvival/Assets/Scripts/Utils/Singleton.cs.meta | 11 | ||||
-rw-r--r-- | AlienSurvival/Assets/Scripts/Utils/TinyCountDown.cs | 48 | ||||
-rw-r--r-- | AlienSurvival/Assets/Scripts/Utils/TinyCountDown.cs.meta | 11 |
10 files changed, 174 insertions, 10 deletions
diff --git a/AlienSurvival/Assets/Scripts/GameApp.cs b/AlienSurvival/Assets/Scripts/GameApp.cs new file mode 100644 index 0000000..d5f9d70 --- /dev/null +++ b/AlienSurvival/Assets/Scripts/GameApp.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +[DisallowMultipleComponent] +public class GameApp : MonoBehaviour +{ + + void Start() + { + + } + + void Update() + { + GameLoop.Instance.Update(); + TinyCountDown.Instance.Update(); + } + + void LateUpdate() + { + + } + +} diff --git a/AlienSurvival/Assets/Scripts/GameApp.cs.meta b/AlienSurvival/Assets/Scripts/GameApp.cs.meta new file mode 100644 index 0000000..3c64a3e --- /dev/null +++ b/AlienSurvival/Assets/Scripts/GameApp.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4a8eff5fd2fd4e34e8896ce4c086ba44 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: -1100 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs b/AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs index d624267..213e9ff 100644 --- a/AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs +++ b/AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs @@ -212,9 +212,8 @@ public class TopDownTransform : MonoBehaviour #if UNITY_EDITOR private void OnDrawGizmos() { - // dash line - Vector3 start = transform.position; - Vector3 end = start - new Vector3(0, m_LocalPosition.z, 0); + Vector3 start = TopDownUtils.Project(position); + Vector3 end = TopDownUtils.Project(positionOnGround); Handles.DrawDottedLine(start, end, 1f); Handles.DrawWireCube(end, new Vector3(0.1f, 0.1f, 0f)); diff --git a/AlienSurvival/Assets/Scripts/TopDown/TopDownUtils.cs b/AlienSurvival/Assets/Scripts/TopDown/TopDownUtils.cs new file mode 100644 index 0000000..f42e123 --- /dev/null +++ b/AlienSurvival/Assets/Scripts/TopDown/TopDownUtils.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class TopDownUtils +{ + + /// <summary> + /// 从TopDown空间转到3D空间下(TopDownTransform -> Transform) + /// </summary> + /// <param name="topDownCoord"></param> + /// <param name="z"></param> + /// <returns></returns> + public static Vector3 Project(Vector3 topDownCoord, float z = 0) + { + Vector3 pos = new Vector3(); + + pos.x = topDownCoord.x; + pos.y = topDownCoord.y + topDownCoord.z; + pos.z = z; + + return pos; + } + +}
\ No newline at end of file diff --git a/AlienSurvival/Assets/Scripts/TopDown/TopDownUtils.cs.meta b/AlienSurvival/Assets/Scripts/TopDown/TopDownUtils.cs.meta new file mode 100644 index 0000000..f60e1ef --- /dev/null +++ b/AlienSurvival/Assets/Scripts/TopDown/TopDownUtils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c60891307755afb4fb72033ed1cd557d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: 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: |