You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
using System;
|
|
|
|
|
|
|
|
namespace gaemstone.ECS;
|
|
|
|
|
|
|
|
[AttributeUsage(AttributeTargets.Class)]
|
|
|
|
public class ModuleAttribute : Attribute
|
|
|
|
{
|
|
|
|
public string? Name { get; set; }
|
|
|
|
}
|
|
|
|
|
|
|
|
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
|
|
|
|
public class DependsOnAttribute : Attribute
|
|
|
|
{
|
|
|
|
public string Name { get; }
|
|
|
|
|
|
|
|
public DependsOnAttribute(string name)
|
|
|
|
=> Name = name;
|
|
|
|
public DependsOnAttribute(Type type)
|
|
|
|
: this(ModuleManager.GetModuleName(type)) { }
|
|
|
|
}
|
|
|
|
|
|
|
|
public interface IModuleInitializer
|
|
|
|
{
|
|
|
|
void Initialize(EntityRef entity);
|
|
|
|
}
|