public MongoContentCollection(string name, IMongoDatabase database, IAppProvider appProvider)
            : base(database)
        {
            this.name = name;

            queryAsStream   = new QueryAsStream();
            queryBdId       = new QueryById();
            queryByIds      = new QueryByIds();
            queryByQuery    = new QueryByQuery(appProvider);
            queryReferences = new QueryReferences(queryByIds);
            queryReferrers  = new QueryReferrers();
            queryScheduled  = new QueryScheduled();
        }
Beispiel #2
0
        public MongoContentCollection(string name, IMongoDatabase database, IAppProvider appProvider, ITextIndex indexer, DataConverter dataConverter)
            : base(database)
        {
            this.name = name;

            queryAsStream   = new QueryAsStream(dataConverter, appProvider);
            queryBdId       = new QueryById(dataConverter);
            queryByIds      = new QueryByIds(dataConverter);
            queryByQuery    = new QueryByQuery(dataConverter, indexer, appProvider);
            queryReferences = new QueryReferences(dataConverter, queryByIds);
            queryReferrers  = new QueryReferrers(dataConverter);
            queryScheduled  = new QueryScheduled(dataConverter);
        }
Beispiel #3
0
        /// <summary>
        /// Default save method. Saves world as binary file.
        /// </summary>
        /// <param name="debug"></param>
        public static void Save(bool debug = false)
        {
            if (World.All.Count < 1)
            {
                return;
            }

            var entityManager = World.DefaultGameObjectInjectionWorld.EntityManager;

            // Path for saving world
            var binaryWriter = new StreamBinaryWriter(WorldLocation);

            // Save whole world
            // pure version - SerializeUtility.SerializeWorld(em, binaryWriter, out var objectReferences);
            SerializeUtilityHybrid.Serialize(entityManager, binaryWriter, out var objectReferences);

            if (debug)
            {
                QueryReferences.Query(objectReferences);
            }

            AssetDatabase.CreateAsset(objectReferences, WorldReferencesLocation);
            Debug.Log("Saved");
        }