public void AddComponent(BaseComponent c) { // TODO: We want to check if a certain component exists that we don't one more than one of such as a Sprite component. Components.Add(c); c.RegisterToEntity(this); SystemManager.UpdateSystems(false); }
public void RemoveComponent(BaseComponent c) { Components.Remove(c); c.DeregisterFromEntity(); SystemManager.UpdateSystems(true); }
public static void Destroy(BaseEntity entity) { Remove(entity); entity.destroyed = true; SystemManager.UpdateSystems(true); }
// TODO: Have a "BatchInstantiate" where you don't do SystemManager.UpdateSystem per spawn // but process after a batch just once. public static void Instantiate(BaseEntity entity) { Add(entity); SystemManager.UpdateSystems(false); entity.instantiated = true; }