public void Start() { experiment = new Experiment(); Experiment.levels = levels; agentDatas = new AgentData[Experiment.levels]; inst = this; InitDisplay(); agent = prefabAgent; experiment.DisplayTest(new int2(size.x, size.y)); }
public void SleepCluster(int simID, int2 aGridSize, float2 center, float radius, int quantity, Random aRandom) { var coords = Cluster(aGridSize, center, radius, quantity, aRandom); foreach (var c in coords) { SetPatchAt(c.x, c.y, simID, sleepPatch); EOSGrid.SetSleep(simID, c); } }
protected override JobHandle OnUpdate(JobHandle inputDeps) { Entities .WithoutBurst() .ForEach((in Action action, in FoodEnergy foodEnergy, in SleepEnergy sleepEnergy, in PosXY posXY, in SimID simID, in Genome genome) => { EOSGrid.SetAgent(simID.Value, posXY.Value, FoodEnergy.Fitness(foodEnergy.Value), SleepEnergy.Fitness(sleepEnergy.Value), //foodEnergy.Value, sleepEnergy.Value, action.Value, genome); }).Run();
public void FoodCluster(int simID, int2 aGridSize, float2 center, float radius, int quantity, int minFood, int maxFood, Random aRandom) { var coords = Cluster(aGridSize, center, radius, quantity, aRandom); foreach (var c in coords) { var patch = GetNewFoodPatch(); SetPatchAt(c.x, c.y, simID, patch); em.SetComponentData(patch, new FoodArea() { Value = aRandom.NextInt(minFood, maxFood) }); EOSGrid.SetFood(simID, c); } }