From 6fcad523001a5521a6592b7dbf20caeb3e4c966c Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Wed, 28 Feb 2024 02:10:35 +0800 Subject: [PATCH] update debug --- src/Debug/EcsDebugUtility.cs | 4 ++++ src/Debug/MetaAttributes/EcsMetaAttribute.cs | 6 ++++++ src/Debug/MetaAttributes/MetaColorAttribute.cs | 2 +- src/Debug/MetaAttributes/MetaDescriptionAttribute.cs | 2 +- src/Debug/MetaAttributes/MetaGroupAttribute.cs | 2 +- src/Debug/MetaAttributes/MetaNameAttribute.cs | 2 +- src/Debug/MetaAttributes/MetaTagsAttribute.cs | 4 ++-- 7 files changed, 16 insertions(+), 6 deletions(-) create mode 100644 src/Debug/MetaAttributes/EcsMetaAttribute.cs diff --git a/src/Debug/EcsDebugUtility.cs b/src/Debug/EcsDebugUtility.cs index af2712a..a06623a 100644 --- a/src/Debug/EcsDebugUtility.cs +++ b/src/Debug/EcsDebugUtility.cs @@ -384,6 +384,10 @@ namespace DCFApixels.DragonECS #endregion #region GetCachedTypeMeta + public static TypeMetaDataCached GetMeta(this object self) + { + return GetCachedTypeMeta(self); + } private static readonly Dictionary _metaCache = new Dictionary(); public static TypeMetaDataCached GetCachedTypeMeta(object obj) { diff --git a/src/Debug/MetaAttributes/EcsMetaAttribute.cs b/src/Debug/MetaAttributes/EcsMetaAttribute.cs new file mode 100644 index 0000000..7b8e888 --- /dev/null +++ b/src/Debug/MetaAttributes/EcsMetaAttribute.cs @@ -0,0 +1,6 @@ +using System; + +namespace DCFApixels.DragonECS +{ + public abstract class EcsMetaAttribute : Attribute { } +} diff --git a/src/Debug/MetaAttributes/MetaColorAttribute.cs b/src/Debug/MetaAttributes/MetaColorAttribute.cs index fa9fb54..248942d 100644 --- a/src/Debug/MetaAttributes/MetaColorAttribute.cs +++ b/src/Debug/MetaAttributes/MetaColorAttribute.cs @@ -4,7 +4,7 @@ using System.Runtime.InteropServices; namespace DCFApixels.DragonECS { [AttributeUsage(AttributeTargets.Struct | AttributeTargets.Class | AttributeTargets.Interface, Inherited = false, AllowMultiple = false)] - public sealed class MetaColorAttribute : Attribute + public sealed class MetaColorAttribute : EcsMetaAttribute { public readonly MetaColor color; public byte R => color.r; diff --git a/src/Debug/MetaAttributes/MetaDescriptionAttribute.cs b/src/Debug/MetaAttributes/MetaDescriptionAttribute.cs index 38b4f16..a5327d6 100644 --- a/src/Debug/MetaAttributes/MetaDescriptionAttribute.cs +++ b/src/Debug/MetaAttributes/MetaDescriptionAttribute.cs @@ -3,7 +3,7 @@ namespace DCFApixels.DragonECS { [AttributeUsage(AttributeTargets.Struct | AttributeTargets.Class | AttributeTargets.Interface, Inherited = false, AllowMultiple = false)] - public sealed class MetaDescriptionAttribute : Attribute + public sealed class MetaDescriptionAttribute : EcsMetaAttribute { public readonly string description; public MetaDescriptionAttribute(string description) => this.description = description; diff --git a/src/Debug/MetaAttributes/MetaGroupAttribute.cs b/src/Debug/MetaAttributes/MetaGroupAttribute.cs index 92fc420..c143cd8 100644 --- a/src/Debug/MetaAttributes/MetaGroupAttribute.cs +++ b/src/Debug/MetaAttributes/MetaGroupAttribute.cs @@ -4,7 +4,7 @@ using System.Text.RegularExpressions; namespace DCFApixels.DragonECS { [AttributeUsage(AttributeTargets.Struct | AttributeTargets.Class | AttributeTargets.Interface, Inherited = false, AllowMultiple = false)] - public sealed class MetaGroupAttribute : Attribute + public sealed class MetaGroupAttribute : EcsMetaAttribute { public static readonly MetaGroupAttribute Empty = new MetaGroupAttribute(""); public readonly string name; diff --git a/src/Debug/MetaAttributes/MetaNameAttribute.cs b/src/Debug/MetaAttributes/MetaNameAttribute.cs index c4c8acd..449ad35 100644 --- a/src/Debug/MetaAttributes/MetaNameAttribute.cs +++ b/src/Debug/MetaAttributes/MetaNameAttribute.cs @@ -3,7 +3,7 @@ namespace DCFApixels.DragonECS { [AttributeUsage(AttributeTargets.Struct | AttributeTargets.Class | AttributeTargets.Interface, Inherited = false, AllowMultiple = false)] - public sealed class MetaNameAttribute : Attribute + public sealed class MetaNameAttribute : EcsMetaAttribute { public readonly string name; public MetaNameAttribute(string name) => this.name = name; diff --git a/src/Debug/MetaAttributes/MetaTagsAttribute.cs b/src/Debug/MetaAttributes/MetaTagsAttribute.cs index 1dbf92a..6d13570 100644 --- a/src/Debug/MetaAttributes/MetaTagsAttribute.cs +++ b/src/Debug/MetaAttributes/MetaTagsAttribute.cs @@ -5,9 +5,9 @@ using System.Linq; namespace DCFApixels.DragonECS { [AttributeUsage(AttributeTargets.Struct | AttributeTargets.Class | AttributeTargets.Interface, Inherited = false, AllowMultiple = false)] - public sealed class MetaTagsAttribute : Attribute + public sealed class MetaTagsAttribute : EcsMetaAttribute { - private readonly string[] _tags; + private readonly string[] _tags = Array.Empty(); public IReadOnlyCollection Tags => _tags; [Obsolete("With empty parameters, this attribute makes no sense.", true)]