public void MultiEntitiesInitPipelines() { EntitySpider context = new DefaultEntitySpider(); context.Identity = (Guid.NewGuid().ToString("N")); context.ThreadNum = 1; context.AddPipeline(new MySqlEntityPipeline("Database='mysql';Data Source=localhost;User ID=root;Password=;Port=3306;SslMode=None;")); context.AddPipeline(new MySqlFileEntityPipeline()); context.AddPipeline(new ConsoleEntityPipeline()); context.AddPipeline(new JsonFileEntityPipeline()); context.AddStartUrl("http://baidu.com"); context.AddEntityType <Entity13>(); context.AddEntityType <Entity12>(); context.Run("running-test"); var entityPipelines = context.GetPipelines(); Assert.Equal(4, entityPipelines.Count); var pipeline1 = (MySqlEntityPipeline)entityPipelines[0]; Assert.Equal("Database='mysql';Data Source=localhost;User ID=root;Password=;Port=3306;SslMode=None;", pipeline1.ConnectionStringSettings.ConnectionString); Assert.Equal("MySqlFileEntityPipeline", entityPipelines[1].GetType().Name); Assert.Equal("ConsoleEntityPipeline", entityPipelines[2].GetType().Name); Assert.Equal("JsonFileEntityPipeline", entityPipelines[3].GetType().Name); var pipelines = context.GetPipelines(); Assert.Equal(4, pipelines.Count); IEntityPipeline pipeline = (IEntityPipeline)pipelines[0]; //entityPipelines = pipeline.GetEntityPipelines(); //Assert.Equal(4, entityPipelines.Count); //pipeline1 = (MySqlEntityPipeline)entityPipelines[0]; //Assert.Equal("test", pipeline1.GetSchema().Database); //Assert.Equal("table13", pipeline1.GetSchema().Name); using (MySqlConnection conn = new MySqlConnection("Database='mysql';Data Source=localhost;User ID=root;Password=;Port=3306;SslMode=None;")) { conn.Execute($"DROP table test.table12"); conn.Execute($"DROP table test.table13"); } }
public void MultiEntitiesInitPipelines() { EntitySpider context = new EntitySpider(new Site()); context.SetIdentity(Guid.NewGuid().ToString("N")); context.SetThreadNum(1); context.AddPipeline(new MySqlEntityPipeline("Database='test';Data Source=localhost;User ID=root;Password=1qazZAQ!;Port=3306")); context.AddPipeline(new MySqlFileEntityPipeline()); context.AddPipeline(new ConsoleEntityPipeline()); context.AddPipeline(new JsonFileEntityPipeline()); context.AddStartUrl("http://baidu.com"); context.AddEntityType(typeof(Entity13)); context.AddEntityType(typeof(Entity12)); context.Run("running-test"); var entityPipelines = context.Pipelines; Assert.AreEqual(4, entityPipelines.Count); var pipeline1 = (MySqlEntityPipeline)entityPipelines[0]; Assert.AreEqual("Database='test';Data Source=localhost;User ID=root;Password=1qazZAQ!;Port=3306", pipeline1.ConnectString); Assert.AreEqual("MySqlFileEntityPipeline", entityPipelines[1].GetType().Name); Assert.AreEqual("ConsoleEntityPipeline", entityPipelines[2].GetType().Name); Assert.AreEqual("JsonFileEntityPipeline", entityPipelines[3].GetType().Name); var pipelines = context.GetPipelines(); Assert.AreEqual(4, pipelines.Count); IEntityPipeline pipeline = (IEntityPipeline)pipelines[0]; //entityPipelines = pipeline.GetEntityPipelines(); //Assert.AreEqual(4, entityPipelines.Count); //pipeline1 = (MySqlEntityPipeline)entityPipelines[0]; //Assert.AreEqual("db", pipeline1.GetSchema().Database); //Assert.AreEqual("table13", pipeline1.GetSchema().Name); using (MySqlConnection conn = new MySqlConnection("Database='mysql';Data Source=localhost;User ID=root;Password=1qazZAQ!;Port=3306")) { conn.Execute($"DROP table db.table12"); conn.Execute($"DROP table db.table13"); } }
public EntityPipeline(string entityName, IEntityPipeline pipeline) { _entityName = entityName; _pipeline = pipeline; pipeline.Initialize(); }
public LegacyEntityPipelineSetup(MonoBehaviour hostBehaviour, IEntityPipeline entityPipeline, ISpatialCommunicator spatialCommunicator, IMutableUniverse universe, ILegacyEntityPipelineConfiguration config, IEntitySpawnLimiter spawnLimiter) { this.entityPipeline = entityPipeline; IPrefabFactory <GameObject> prefabFactory; if (!config.UsePrefabPooling && config.AssetsToPrePool != null && config.AssetsToPrePool.Any()) { Debug.LogError("There are prefabs specified for pre-pooling, but prefab pooling is not enabled - pooling will occur"); } bool preloaderHasFactory = false; if (config.UsePrefabPooling || config.AssetsToPrecache != null || config.AssetsToPrePool != null) { preloaderHasFactory = true; #pragma warning disable 0612 assetPreloader = new AssetPreloader(hostBehaviour, config.TemplateProvider, config.AssetsToPrecache, config.AssetsToPrePool, config.MaxConcurrentPrecacheConnections); #pragma warning restore 0612 assetPreloader.PrecachingCompleted += () => { if (config.OnPrecachingCompleted != null) { config.OnPrecachingCompleted(); } }; assetPreloader.PrecachingProgress += progress => { if (config.OnPrecacheProgress != null) { config.OnPrecacheProgress(progress); } }; } if (preloaderHasFactory && config.UsePrefabPooling) { prefabFactory = assetPreloader.PrefabFactory; } else { prefabFactory = new UnityPrefabFactory(); } criticalSectionPipelineBlock = new CriticalSectionPipelineBlock(); throttledEntityDispatcher = new ThrottledEntityDispatcher(universe, spawnLimiter, config.Metrics); legacyEntityCreator = new LegacyEntityCreator( config.TemplateProvider, spatialCommunicator, prefabFactory, universe, config.EntityComponentInterestOverridesUpdater, config.InterestedComponentUpdaterProvider, config.Metrics); legacyComponentPipeline = new LegacyComponentPipeline(universe); entityComponentUpdater = new EntityComponentUpdater(universe); templateProvider = config.TemplateProvider; }