/// <inheritdoc /> public void RemoveComponent(RemoveComponentPipelineOp removeComponentOp) { if (!IsEntityTracked(removeComponentOp.EntityId)) { Debug.LogErrorFormat("Entity not found: OnComponentAdded({0}, {1})", removeComponentOp.EntityId, removeComponentOp.ComponentMetaClass); return; } if (universe.ContainsEntity(removeComponentOp.EntityId)) { NextEntityBlock.RemoveComponent(removeComponentOp); return; } if (entitiesToSpawn.ContainsKey(removeComponentOp.EntityId)) { var data = entitiesToSpawn[removeComponentOp.EntityId]; data.StalledOps.Enqueue(removeComponentOp); if (removeComponentOp.ComponentMetaClass.ComponentId == Position.ComponentId) { entitiesToSpawn[removeComponentOp.EntityId].Position = null; } } }
/// <inheritdoc /> public void RemoveComponent(RemoveComponentPipelineOp removeComponentOp) { var entityId = removeComponentOp.EntityId; if (IsEntityQueued(entityId)) { entityActions[entityId].Enqueue(removeComponentOp); } else { NextEntityBlock.RemoveComponent(removeComponentOp); } }
/// <inheritdoc /> public override void RemoveComponent(RemoveComponentPipelineOp removeComponentOp) { var entityId = removeComponentOp.EntityId; if (!universe.ContainsEntity(entityId)) { Debug.LogError("EntityComponentUpdater::RemoveComponent: Entity not present: " + entityId); return; } var entity = universe.Get(entityId); entity.OnRemoveComponentPipelineOp(removeComponentOp); NextEntityBlock.RemoveComponent(removeComponentOp); }
/// <inheritdoc /> public override void RemoveComponent(RemoveComponentPipelineOp removeComponentOp) { NextEntityBlock.RemoveComponent(removeComponentOp); var entity = universe.Get(removeComponentOp.EntityId); if (entity != null) { if (entity.Visualizers is EntityVisualizers) { ((EntityVisualizers)entity.Visualizers).OnComponentRemoved(removeComponentOp.ComponentMetaClass, removeComponentOp.ComponentObject); } } else { Debug.LogErrorFormat("Entity not found: OnComponentRemoved({0}, {1})", removeComponentOp.EntityId, removeComponentOp.ComponentMetaClass); } }
/// <inheritdoc /> public void RemoveComponent(RemoveComponentPipelineOp removeComponentOp) { StallForCriticalSection(removeComponentOp); }