Dear Coders,
I have coded for Waypoints to be Instantiated at random points along my plane :
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Linq;
public class WaypointManager : MonoBehaviour {
public Transform wayPointManager;
public GameObject wayPoint;
public List<GameObject> wayPoints = new List<GameObject>();
public float timer;
float x;
float y;
float z;
void Start ()
{
wayPoint = GameObject.FindGameObjectWithTag("WayPoint");
wayPoints.Add (wayPoint);
}
void Update (){
x = Random.Range(-500, 500);
y = Random.Range (1, 5);
z = Random.Range(-500, 500);
timer += Time.deltaTime;
if (timer > 1.0f) {
GenerateARandomWayPoint ();
timer = 0f;
}
if (wayPoints == null || wayPoints.Count == 0)
{
wayPoints.Add (GenerateARandomWayPoint());
}
}
public GameObject GenerateARandomWayPoint(){
bool setRelativeToWorld = true;
GameObject clone = Instantiate (wayPoint,wayPointManager,setRelativeToWorld) as GameObject;
//Instantiate (wayPoint,wayPointManager,setRelativeToWorld) as GameObject;
wayPoint.transform.position = new Vector3 (x,y,z);
return clone;
}
}
I am trying to code for instantiated enemies to recognise these waypoints and navigate along the waypoints randomly. I’m having quite a bit of difficulty with this step and the script for enemy waypoint recognition is as follows :
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class RandomEnemyWander : MonoBehaviour {
public float timer;
private NavMeshAgent patrol;
public GameObject [] points;
void Start ()
{
patrol = GetComponent<NavMeshAgent> ();
GameObject [] points = GameObject.FindGameObjectsWithTag("WayPoint");
Transform[] wayPoints = new Transform [points.Length];
for (int i = 0; i < points.Length; i++) {
wayPoints _= points *.transform;*_
* }*
* }*
* void Update ()*
* {*
* wayPointList ();*
* }*
* void wayPointList ()*
* {*
* GameObject[] points = GameObject.FindGameObjectsWithTag (“WayPoint”);*
* Transform[] wayPoints = new Transform [points.Length];*
* for (int i = 0; i < points.Length; i++) {*
wayPoints = points .transform;
* }*
* }*
}
So in essence I want the enemy to recognise when a waypoint has been generated and to add this to a list of waypoints that it can randomly follow.
Could somebody help?
Thanks!