void Start() { navAgent = GetComponent <NavMeshAgent>(); startPosition = transform.position; hunterAgent = hunter.GetComponent <HunterAgent>(); Wander(); }
private void Start() { varScript = GetComponent <HunterVariables>(); agentScript = GetComponent <HunterAgent>(); hunterLayer = 1 << 10; peaterLayer = 1 << 12; plantLayer = 1 << 11; waterLayer = 1 << 4; }
public void CreateHunters(GameObject prefab, Brain brain) { GameObject hunterSpawn = Instantiate(spawnPoint) as GameObject; hunterSpawn.transform.parent = transform; hunterSpawn.transform.position = new Vector3(-1.5f, 0.05f, -1.5f); for (var i = 0; i < HunterCount; i++) { GameObject hunter = Instantiate(prefab, new Vector3( hunterSpawn.transform.position.x, hunterSpawn.transform.position.y, hunterSpawn.transform.position.z), Quaternion.Euler(0, 50, 0)); HunterAgent hunterAgent = hunter.GetComponent <HunterAgent>(); hunterAgent.GiveBrain(brain); hunterAgent.name = "Hunter " + (i + 1); //agents need to be reset after being manually given a brain hunterAgent.AgentReset(); } }
void FixedUpdate() { if (Mathf.Abs(DistanceToCentre(transform.position)) > range + 1) { AddReward(-3f); HunterAgent hunt1 = ally1.GetComponent(typeof(HunterAgent)) as HunterAgent; hunt1.EndEpisode(); HunterAgent hunt2 = ally2.GetComponent(typeof(HunterAgent)) as HunterAgent; hunt2.EndEpisode(); EndEpisode(); return; } if (this.StepCount > 1000) { EndEpisode(); Pray p = target.GetComponent(typeof(Pray)) as Pray; p.Respawn(); } }