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