Ejemplo n.º 1
0
        /// <summary>
        /// 按照SchemaType加载对象
        /// </summary>
        /// <param name="schemaTypes"></param>
        /// <param name="timePoint"></param>
        /// <returns></returns>
        public DEEntityInstanceBaseCollection LoadByEntityID(params string[] EntityIDs)
        {
            EntityIDs.NullCheck("EntityIDs");

            InSqlClauseBuilder builder = new InSqlClauseBuilder("EntityCode");

            builder.AppendItem(EntityIDs);

            return(Load(builder));
        }
Ejemplo n.º 2
0
        EntityCollection <T> InternalQueryEntities <T>
            (FasterDictionary <RefWrapperType, ITypeSafeDictionary> entitiesInGroupPerType)
            where T : struct, IEntityComponent
        {
            uint        count = 0;
            IBuffer <T> buffer;
            EntityIDs   ids = default;

            if (SafeQueryEntityDictionary <T>(out var typeSafeDictionary, entitiesInGroupPerType) == false)
            {
                buffer = RetrieveEmptyEntityComponentArray <T>();
            }
Ejemplo n.º 3
0
        public EntityCollection(IBuffer <T> buffer, uint count, EntityIDs entityIDs) : this()
        {
            DBC.ECS.Check.Require(count == 0 || buffer.isValid, "Buffer is found in impossible state");
            if (IsUnmanaged)
            {
                _nativedBuffer  = (NB <T>)buffer;
                _nativedIndices = entityIDs.nativeIDs;
            }
            else
            {
                _managedBuffer  = (MB <T>)buffer;
                _managedIndices = entityIDs.managedIDs;
            }

            this.count = count;
        }