void ICompositionRoot.OnContextCreated(UnityContext contextHolder) { var tasksCount = NumberOfEntities.value; #if FIRST_TIER_EXAMPLE || SECOND_TIER_EXAMPLE || THIRD_TIER_EXAMPLE var boidDescriptor = new BoidEntityDescriptor(new[] { new Boid() }); #else var boidDescriptor = new BoidEntityDescriptor(); #endif #if DONT_TRY_THIS_AT_HOME for (int i = 0; i < tasksCount; i++) { GameObject crazyness = new GameObject(); crazyness.AddComponent <UnityWay>(); } #else IEnginesRoot enginesRoot; IEntityFactory entityFactory = (enginesRoot = new EnginesRoot(new UnitySumbmissionNodeScheduler())) as IEntityFactory; var boidsEngine = new BoidsEngine(); enginesRoot.AddEngine(boidsEngine); _contextNotifier.AddFrameworkDestructionListener(boidsEngine); for (int i = 0; i < tasksCount; i++) { entityFactory.BuildEntity(i, boidDescriptor); } entityFactory.BuildEntity(0, new GenericEntityDescriptor <PrintTimeNode>(contextHolder.GetComponentInChildren <PrintIteration>())); #endif }
private void SetupCamera(UnityContext contextHolder) { CameraEntityDescriptorHolder cameraEntityDescriptor = contextHolder.GetComponentInChildren <CameraEntityDescriptorHolder>(); EntityDescriptorInfo entityDescriptor = cameraEntityDescriptor.RetrieveDescriptor(); _EntityFactory.BuildEntity( cameraEntityDescriptor.gameObject.GetInstanceID(), entityDescriptor, cameraEntityDescriptor.GetComponentsInChildren <IImplementor>() ); }