/// <summary> /// Using this function is like building a normal entity, but the entityViews /// are grouped by groupID to be more efficently processed inside engines and /// improve cache locality. Either class entityViews and struct entityViews can be /// grouped. /// </summary> /// <param name="entityID"></param> /// <param name="groupID"></param> /// <param name="ed"></param> /// <param name="implementors"></param> void BuildEntityInGroup <T>(int entityID, int groupID, object[] implementors = null) where T : IEntityDescriptor, new() { EntityFactory.BuildGroupedEntityViews(entityID, groupID, _groupedEntityViewsToAdd.current, EntityDescriptorTemplate <T> .Default, implementors); }
void BuildEntityInGroup(int entityID, int groupID, IEntityDescriptorInfo entityDescriptor, object[] implementors = null) { EntityFactory.BuildGroupedEntityViews(entityID, groupID, _groupedEntityViewsToAdd.current, _entityViewsToAdd.current, entityDescriptor, implementors); }
///-------------------------------------------- EntityStructInitializer BuildEntity <T>(EGID entityID, object[] implementors) where T : IEntityDescriptor, new() { var dic = EntityFactory.BuildGroupedEntityViews(entityID, _groupedEntityToAdd.current, EntityDescriptorTemplate <T> .descriptor.entitiesToBuild, implementors); return(new EntityStructInitializer(entityID, dic)); }
EntityStructInitializer BuildEntity(EGID entityID, IEntityBuilder[] entityToBuild, object[] implementors) { var dic = EntityFactory.BuildGroupedEntityViews(entityID, _groupedEntityToAdd.current, entityToBuild, implementors); return(new EntityStructInitializer(entityID, dic)); }
EntityStructInitializer BuildEntity(EGID entityID, IEntityDescriptor entityDescriptor, object[] implementors) { var descriptorEntitiesToBuild = entityDescriptor.entitiesToBuild; #if DEBUG && !PROFILER CheckEntityID(entityID, entityDescriptor); #endif var dic = EntityFactory.BuildGroupedEntityViews(entityID, _groupedEntityToAdd.current, descriptorEntitiesToBuild, implementors); _newEntitiesBuiltToProcess++; return(new EntityStructInitializer(entityID, dic)); }