From 069c5b93e0b5aa29d55c4fa85fd1c3a3e6ff1690 Mon Sep 17 00:00:00 2001
From: ALEXTANG <574809918@qq.com>
Date: Thu, 20 Apr 2023 19:34:01 +0800
Subject: [PATCH] [+] GameTickWacher
[+] GameTickWacher
---
.../GameTickWatcher/GameTickWatcher.cs | 40 +++++++++++++++++++
.../GameTickWatcher/GameTickWatcher.cs.meta | 3 ++
.../GameBase/{ => Singleton}/Singleton.cs | 9 ++++-
.../{ => Singleton}/Singleton.cs.meta | 0
4 files changed, 50 insertions(+), 2 deletions(-)
create mode 100644 Assets/GameScripts/HotFix/GameBase/GameTickWatcher/GameTickWatcher.cs
create mode 100644 Assets/GameScripts/HotFix/GameBase/GameTickWatcher/GameTickWatcher.cs.meta
rename Assets/GameScripts/HotFix/GameBase/{ => Singleton}/Singleton.cs (70%)
rename Assets/GameScripts/HotFix/GameBase/{ => Singleton}/Singleton.cs.meta (100%)
diff --git a/Assets/GameScripts/HotFix/GameBase/GameTickWatcher/GameTickWatcher.cs b/Assets/GameScripts/HotFix/GameBase/GameTickWatcher/GameTickWatcher.cs
new file mode 100644
index 00000000..b97f7cac
--- /dev/null
+++ b/Assets/GameScripts/HotFix/GameBase/GameTickWatcher/GameTickWatcher.cs
@@ -0,0 +1,40 @@
+using TEngine;
+
+namespace GameBase
+{
+ ///
+ /// 用来在多线程下检测耗时。
+ ///
+ public struct GameTickWatcher
+ {
+ private long _startTick;
+
+ public GameTickWatcher()
+ {
+ _startTick = System.DateTime.Now.Ticks;
+ }
+
+ public void Refresh()
+ {
+ _startTick = System.DateTime.Now.Ticks;
+ }
+
+ ///
+ /// 获取用时。
+ ///
+ ///
+ public float ElapseTime()
+ {
+ long endTick = System.DateTime.Now.Ticks;
+ return (float)((endTick - _startTick) / 10000) / 1000.0f;
+ }
+
+ ///
+ /// 输出用时。
+ ///
+ public void LogUsedTime()
+ {
+ Log.Info($"Used Time: {this.ElapseTime()}");
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/GameScripts/HotFix/GameBase/GameTickWatcher/GameTickWatcher.cs.meta b/Assets/GameScripts/HotFix/GameBase/GameTickWatcher/GameTickWatcher.cs.meta
new file mode 100644
index 00000000..e05fddec
--- /dev/null
+++ b/Assets/GameScripts/HotFix/GameBase/GameTickWatcher/GameTickWatcher.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 7320165f7aa147a998a30fe2f7a5a5c2
+timeCreated: 1681989139
\ No newline at end of file
diff --git a/Assets/GameScripts/HotFix/GameBase/Singleton.cs b/Assets/GameScripts/HotFix/GameBase/Singleton/Singleton.cs
similarity index 70%
rename from Assets/GameScripts/HotFix/GameBase/Singleton.cs
rename to Assets/GameScripts/HotFix/GameBase/Singleton/Singleton.cs
index b8987757..2f14742f 100644
--- a/Assets/GameScripts/HotFix/GameBase/Singleton.cs
+++ b/Assets/GameScripts/HotFix/GameBase/Singleton/Singleton.cs
@@ -2,9 +2,14 @@
namespace GameBase
{
- public class Singleton where T:new()
+ ///
+ /// 通用单例。
+ ///
+ /// 泛型T。
+ public class Singleton where T : new()
{
private static T _instance;
+
public static T Instance
{
get
@@ -19,4 +24,4 @@ namespace GameBase
}
}
}
-}
+}
\ No newline at end of file
diff --git a/Assets/GameScripts/HotFix/GameBase/Singleton.cs.meta b/Assets/GameScripts/HotFix/GameBase/Singleton/Singleton.cs.meta
similarity index 100%
rename from Assets/GameScripts/HotFix/GameBase/Singleton.cs.meta
rename to Assets/GameScripts/HotFix/GameBase/Singleton/Singleton.cs.meta