public void RemoveEntity(ECSEntity entity) { bool removed = entities.Remove(entity); if (removed) { OnEntityRemoved?.Invoke(entity); } }
public void AddEntity(ECSEntity entity) { if (!entities.Contains(entity)) { entities.Add(entity); OnEntityAdded?.Invoke(entity); entity.OnComponentAdded += cmp => { OnComponentAddedToEntity?.Invoke(entity, cmp); }; entity.OnComponentRemoved += cmp => OnComponentRemovedToEntity?.Invoke(entity, cmp); } }