internal static void BuildGroupedEntityViews(int entityID, int groupID, Dictionary <int, Dictionary <Type, ITypeSafeList> > groupEntityViewsByType, EntityDescriptorInfo entityViewsToBuildDescriptor, Dictionary <long, IEntityViewBuilder[]> entityInfos, object[] implementors) { var @group = FetchGroup(groupID, groupEntityViewsByType); BuildEntityViewsAndAddToGroup(new EGID(entityID, groupID), group, entityViewsToBuildDescriptor, implementors); entityInfos.Add(new EGID(entityID, groupID).GID, entityViewsToBuildDescriptor.entityViewsToBuild); }
static void BuildEntityViewsAndAddToGroup(EGID entityID, Dictionary <Type, ITypeSafeList> entityViewsByType, EntityDescriptorInfo entityViewsToBuildDescriptor, object[] implementors) { var entityViewsToBuild = entityViewsToBuildDescriptor.entityViewsToBuild; var count = entityViewsToBuild.Length; for (var index = 0; index < count; index++) { var entityViewBuilder = entityViewsToBuild[index]; var entityViewType = entityViewBuilder.GetEntityViewType(); var entityViewObjectToFill = BuildEntityView(entityID, entityViewsByType, entityViewType, entityViewBuilder); if (entityViewBuilder.mustBeFilled) { FillEntityView(entityViewObjectToFill as EntityView , implementors , entityViewsToBuildDescriptor.name); } } }
static void AddEntityInfoView(EGID entityID, EntityDescriptorInfo entityViewsToBuildDescriptor, Dictionary <int, IEntityViewBuilder[]> entityInfos) { entityInfos.Add(entityID.GID, entityViewsToBuildDescriptor.entityViewsToBuild); }