Update MetaGroupAttribute.cs

This commit is contained in:
DCFApixels 2025-03-11 09:43:38 +08:00
parent 919f346b5b
commit fce0c34bc5

View File

@ -1,6 +1,7 @@
using DCFApixels.DragonECS.Core; using DCFApixels.DragonECS.Core;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
namespace DCFApixels.DragonECS namespace DCFApixels.DragonECS
@ -14,18 +15,11 @@ namespace DCFApixels.DragonECS
public readonly MetaGroup Data; public readonly MetaGroup Data;
[Obsolete(EcsMetaAttributeHalper.EMPTY_NO_SENSE_MESSAGE)] [Obsolete(EcsMetaAttributeHalper.EMPTY_NO_SENSE_MESSAGE)]
public MetaGroupAttribute() { } public MetaGroupAttribute() { Data = MetaGroup.Empty; }
public MetaGroupAttribute(string name) public MetaGroupAttribute(string name) { Data = new MetaGroup(name); }
{
Data = new MetaGroup(name);
}
//public MetaGroupAttribute(string name0, string name1) : this($"{name0}/{name1}") { }
//public MetaGroupAttribute(string name0, string name1, string name2) : this($"{name0}/{name1}/{name2}") { }
//public MetaGroupAttribute(string name0, string name1, string name2, string name3) : this($"{name0}/{name1}/{name2}/{name3}") { }
//public MetaGroupAttribute(string name0, string name1, string name2, string name3, string name4) : this($"{name0}/{name1}/{name2}/{name3}/{name4}") { }
//public MetaGroupAttribute(string name0, string name1, string name2, string name3, string name4, string name5) : this($"{name0}/{name1}/{name2}/{name3}/{name4}/{name5}") { }
public MetaGroupAttribute(params string[] path) : this(string.Join(SEPARATOR, path)) { } public MetaGroupAttribute(params string[] path) : this(string.Join(SEPARATOR, path)) { }
} }
[DebuggerDisplay("{Name}")]
public class MetaGroup public class MetaGroup
{ {
public const string UNGROUPED = "<UNGROUPED>"; public const string UNGROUPED = "<UNGROUPED>";
@ -60,6 +54,14 @@ namespace DCFApixels.DragonECS
Name = Regex.Replace(name, PATTERN, ""); Name = Regex.Replace(name, PATTERN, "");
Name = string.Intern(Name); Name = string.Intern(Name);
} }
public static MetaGroup FromNameSpace(Type type)
{
if (string.IsNullOrWhiteSpace(type.Namespace))
{
return Empty;
}
return new MetaGroup(type.Namespace.Replace('.', SEPARATOR));
}
public override string ToString() { return Name; } public override string ToString() { return Name; }
} }
} }