/// <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);
 }
Ejemplo n.º 2
0
 void BuildEntityInGroup(int entityID, int groupID, IEntityDescriptorInfo entityDescriptor,
                         object[] implementors = null)
 {
     EntityFactory.BuildGroupedEntityViews(entityID, groupID,
                                           _groupedEntityViewsToAdd.current,
                                           _entityViewsToAdd.current,
                                           entityDescriptor, implementors);
 }
Ejemplo n.º 3
0
        ///--------------------------------------------

        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));
        }
Ejemplo n.º 4
0
        EntityStructInitializer BuildEntity(EGID entityID,
                                            IEntityBuilder[] entityToBuild,
                                            object[] implementors)
        {
            var dic = EntityFactory.BuildGroupedEntityViews(entityID,
                                                            _groupedEntityToAdd.current,
                                                            entityToBuild,
                                                            implementors);

            return(new EntityStructInitializer(entityID, dic));
        }
Ejemplo n.º 5
0
        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));
        }