diff --git a/src/DebugUtils/TypeMeta.cs b/src/DebugUtils/TypeMeta.cs index a696953..3ad1263 100644 --- a/src/DebugUtils/TypeMeta.cs +++ b/src/DebugUtils/TypeMeta.cs @@ -17,8 +17,18 @@ namespace DCFApixels.DragonECS MetaDescription Description { get; } MetaGroup Group { get; } IReadOnlyList Tags { get; } - } + ITypeMeta BaseMeta { get; } + } + public static class ITypeMetaExstensions + { + public static TypeMeta FindRootTypeMeta(this ITypeMeta meta) + { + ITypeMeta result = null; + while ((result = meta.BaseMeta) != null) { } + return (TypeMeta)result; + } + } /// Expanding meta information over Type. [MetaColor(MetaColor.DragonRose)] [MetaGroup(EcsConsts.PACK_GROUP, EcsConsts.DEBUG_GROUP)] @@ -49,6 +59,11 @@ namespace DCFApixels.DragonECS //private EcsMemberType _memberType; + public ITypeMeta BaseMeta + { + get { return null; } + } + #region Constructors public static TypeMeta Get(Type type) { @@ -263,6 +278,11 @@ namespace DCFApixels.DragonECS private class DebuggerProxy : ITypeMeta { private readonly TypeMeta _meta; + + public ITypeMeta BaseMeta + { + get { return _meta.BaseMeta; } + } public Type Type { get { return _meta.Type; }