/// <summary> /// Internal use, does not give the entity a new UID. Used for cloning. /// </summary> /// <param name="entity">The entity to add.</param> private void AddEntityUnchecked(Entity entity) { _entityMap.Add(entity.UID, entity); entity.Manager = this; foreach (var component in entity.Components) { SystemManager.AddComponent(component); } EntityAdded message; message.Entity = entity; SendMessageToEntities(ref message); SystemManager.SendMessageToSystems(ref message); SystemManager.SendMessageToComponents(ref message); }