public void RemoveHecsComponent <T>() where T : IComponent { var index = TypesMap.GetIndexByType <T>(); if (components[index] != null) { RemoveHecsComponent(components[index]); } }
public T GetOrAddComponent <T>(IEntity owner = null) where T : class, IComponent { var index = TypesMap.GetIndexByType <T>(); var needed = components[index]; if (needed != null) { return((T)needed); } var newComp = TypesMap.GetComponentFromFactory <T>(); AddHecsComponent(newComp, owner); return(newComp); }
public bool ContainsMask <T>() where T : IComponent { var index = TypesMap.GetIndexByType <T>(); return(components[index] != null); }