protected override void OnCreate( ) { Debug.LogWarning("Genetic Neural Network example manager started."); becb = World.GetOrCreateSystem <BeginInitializationEntityCommandBufferSystem> (); eecb = World.GetOrCreateSystem <EndInitializationEntityCommandBufferSystem> (); em = World.EntityManager; group_MMMamager = EntityManager.CreateEntityQuery ( ComponentType.ReadOnly <IsAliveTag> (), ComponentType.ReadOnly <NNManagerComponent> (), ComponentType.Exclude <NNMangerIsSpawningNewGenerationTag> () ); group_MMMamagerNotYetActive = EntityManager.CreateEntityQuery ( ComponentType.ReadOnly <IsInitializedTag> (), ComponentType.ReadOnly <NNManagerComponent> (), ComponentType.Exclude <IsAliveTag> () ); group_prefabs = EntityManager.CreateEntityQuery ( ComponentType.ReadOnly <SpawnerPrefabs_FromEntityData> () ); group_carSpawnerPoint = EntityManager.CreateEntityQuery ( ComponentType.ReadOnly <CarSpawnerTag> () ); group_allPopulation = EntityManager.CreateEntityQuery ( ComponentType.ReadOnly <NNBrainTag> (), ComponentType.ReadWrite <NNManagerSharedComponent> () ); group_firstPopulation = EntityManager.CreateEntityQuery ( ComponentType.ReadOnly <IsAliveTag> (), ComponentType.ReadOnly <NNBrainTag> (), ComponentType.ReadOnly <NNIsFirstGenerationTag> (), ComponentType.ReadWrite <NNManagerSharedComponent> () ); group_need2InitializePopulation = EntityManager.CreateEntityQuery ( // ComponentType.ReadOnly <NNIsFinishedTag> (), ... ComponentType.ReadOnly <NNBrainTag> (), ComponentType.Exclude <IsAliveTag> (), ComponentType.Exclude <IsSpawningTag> (), ComponentType.Exclude <NNIsPreviousGenerationTag> (), ComponentType.ReadWrite <NNManagerSharedComponent> () ); group_currentPopulation = EntityManager.CreateEntityQuery ( ComponentType.ReadOnly <IsAliveTag> (), // ComponentType.ReadOnly <NNIsFinishedTag> (), ... ComponentType.ReadOnly <NNBrainTag> (), ComponentType.Exclude <NNIsPreviousGenerationTag> (), ComponentType.ReadWrite <NNManagerSharedComponent> () ); group_finishedPopulation = EntityManager.CreateEntityQuery ( ComponentType.ReadOnly <IsAliveTag> (), // ComponentType.ReadOnly <NNIsFinishedTag> (), ... ComponentType.ReadOnly <NNBrainTag> (), ComponentType.ReadOnly <NNIsFinishedTag> (), // ComponentType.ReadOnly <NNIsFinishedTag> (), ComponentType.Exclude <NNIsPreviousGenerationTag> (), ComponentType.Exclude <NNIsFirstGenerationTag> (), ComponentType.ReadWrite <NNManagerSharedComponent> () ); group_previousGeneration = EntityManager.CreateEntityQuery ( ComponentType.ReadOnly <IsAliveTag> (), // ComponentType.ReadOnly <NNIsFinishedTag> (), ComponentType.ReadOnly <NNBrainTag> (), ComponentType.ReadOnly <NNIsPreviousGenerationTag> (), ComponentType.ReadWrite <NNManagerSharedComponent> () ); _DefineLayersNuronsCount(ref layersNeuronCounts); random = new Unity.Mathematics.Random((uint)System.DateTime.UtcNow.Millisecond + 5000); jsonNeuralNetworkMangers = new ManagerMethods.JsonNeuralNetworkMangers(); }
static private void _ExecuteActiveManager(SystemBase systemBase, JobHandle jobHandle, ref EntityManager em, ref BeginInitializationEntityCommandBufferSystem becb, ref EndInitializationEntityCommandBufferSystem eecb, ref Unity.Mathematics.Random random, ref List <NNManagerSharedComponent> l_managerSharedData, ref ManagerMethods.JsonNeuralNetworkMangers jsonNeuralNetworkMangers, in string s_path, in SpawnerPrefabs_FromEntityData spawner, in EntityQuery group_MMMamager, in EntityQuery group_carSpawnerPoint, in EntityQuery group_finishedPopulation, in EntityQuery group_allPopulation, in EntityQuery group_firstPopulation, in EntityQuery group_previousGeneration, in EntityQuery group_currentPopulation, in EntityQuery group_need2InitializePopulation, LayersNeuronCounts layersNeuronCounts)