From 5f668bb5164d1af6b0f9ec8a6dd642defed2331f Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Mon, 27 Mar 2023 17:34:04 +0800 Subject: [PATCH] Add debug feature --- src/Debug.meta | 8 ++++ src/{ => Debug}/SystemsDebugSystem.cs | 0 src/{ => Debug}/SystemsDebugSystem.cs.meta | 2 +- src/Debug/UnityDebugService.cs | 56 ++++++++++++++++++++++ src/Debug/UnityDebugService.cs.meta | 11 +++++ src/{ => Debug}/WorldDebugSystem.cs | 0 src/{ => Debug}/WorldDebugSystem.cs.meta | 2 +- 7 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 src/Debug.meta rename src/{ => Debug}/SystemsDebugSystem.cs (100%) rename src/{ => Debug}/SystemsDebugSystem.cs.meta (83%) create mode 100644 src/Debug/UnityDebugService.cs create mode 100644 src/Debug/UnityDebugService.cs.meta rename src/{ => Debug}/WorldDebugSystem.cs (100%) rename src/{ => Debug}/WorldDebugSystem.cs.meta (83%) diff --git a/src/Debug.meta b/src/Debug.meta new file mode 100644 index 0000000..a73361d --- /dev/null +++ b/src/Debug.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 853912b6db8b61c40a9c2d74a2759f94 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/SystemsDebugSystem.cs b/src/Debug/SystemsDebugSystem.cs similarity index 100% rename from src/SystemsDebugSystem.cs rename to src/Debug/SystemsDebugSystem.cs diff --git a/src/SystemsDebugSystem.cs.meta b/src/Debug/SystemsDebugSystem.cs.meta similarity index 83% rename from src/SystemsDebugSystem.cs.meta rename to src/Debug/SystemsDebugSystem.cs.meta index 22bfdc1..b49fa53 100644 --- a/src/SystemsDebugSystem.cs.meta +++ b/src/Debug/SystemsDebugSystem.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6ed7ff62966b45141b388716e91dfac0 +guid: 0c0c879077450ac479afb5b86efc5a93 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/src/Debug/UnityDebugService.cs b/src/Debug/UnityDebugService.cs new file mode 100644 index 0000000..ae553b2 --- /dev/null +++ b/src/Debug/UnityDebugService.cs @@ -0,0 +1,56 @@ +using System; +using Unity.Profiling; +using UnityEngine; + +namespace DCFApixels.DragonECS.Unity +{ + public class UnityDebugService : DebugService + { + public static void Set() + { + DebugService.Set(); + } + + private ProfilerMarker[] _profilerMarkers = new ProfilerMarker[64]; + + public override void Print(string tag, object v) + { + string log = $"[{tag}] {v}"; + string taglower = tag.ToLower(); + if (taglower.Contains("warning")) + { + Debug.LogWarning(log); + return; + } + if (taglower.Contains("error")) + { + Debug.LogError(log); + return; + } + Debug.Log(log); + } + + public override void ProfileMarkBegin(int id) + { + _profilerMarkers[id].Begin(); + } + + public override double ProfileMarkEnd(int id) + { + _profilerMarkers[id].End(); + return -1; + } + + protected override void OnDelMark(int id) + { + _profilerMarkers[id] = default; + } + + protected override void OnNewMark(int id, string name) + { + if (id >= _profilerMarkers.Length) Array.Resize(ref _profilerMarkers, _profilerMarkers.Length << 1); + _profilerMarkers[id] = new ProfilerMarker(ProfilerCategory.Scripts, name); + } + + } +} diff --git a/src/Debug/UnityDebugService.cs.meta b/src/Debug/UnityDebugService.cs.meta new file mode 100644 index 0000000..e9e77d8 --- /dev/null +++ b/src/Debug/UnityDebugService.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b58ebee63dda32544a67f1917d94f40c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/WorldDebugSystem.cs b/src/Debug/WorldDebugSystem.cs similarity index 100% rename from src/WorldDebugSystem.cs rename to src/Debug/WorldDebugSystem.cs diff --git a/src/WorldDebugSystem.cs.meta b/src/Debug/WorldDebugSystem.cs.meta similarity index 83% rename from src/WorldDebugSystem.cs.meta rename to src/Debug/WorldDebugSystem.cs.meta index 5d8a9d5..90a1a32 100644 --- a/src/WorldDebugSystem.cs.meta +++ b/src/Debug/WorldDebugSystem.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1d334d67cff28704c94924d2e6c8df84 +guid: 45a14256c767cab49879fb8aa88ec193 MonoImporter: externalObjects: {} serializedVersion: 2