File size: 1,355 Bytes
05c9ac2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
using UnityEngine;
using Unity.MLAgentsExamples;
public class FoodCollectorArea : Area
{
public GameObject food;
public GameObject badFood;
public int numFood;
public int numBadFood;
public bool respawnFood;
public float range;
void CreateFood(int num, GameObject type)
{
for (int i = 0; i < num; i++)
{
GameObject f = Instantiate(type, new Vector3(Random.Range(-range, range), 1f,
Random.Range(-range, range)) + transform.position,
Quaternion.Euler(new Vector3(0f, Random.Range(0f, 360f), 90f)));
f.GetComponent<FoodLogic>().respawn = respawnFood;
f.GetComponent<FoodLogic>().myArea = this;
}
}
public void ResetFoodArea(GameObject[] agents)
{
foreach (GameObject agent in agents)
{
if (agent.transform.parent == gameObject.transform)
{
agent.transform.position = new Vector3(Random.Range(-range, range), 2f,
Random.Range(-range, range))
+ transform.position;
agent.transform.rotation = Quaternion.Euler(new Vector3(0f, Random.Range(0, 360)));
}
}
CreateFood(numFood, food);
CreateFood(numBadFood, badFood);
}
public override void ResetArea()
{
}
}
|