// Use this for initialization void Start() { manager = GameObject.Find("LevelManagerContainer").GetComponent<LevelManagerScript>(); looker = new GameObject(); looker.transform.parent = transform; NearestPointOnPath = Vector3.zero; if (manager.AllPathWaypoints.Length > 1) { if (NextWaypoint == null && PrevWaypoint == null) { NextWaypoint = FindNearestPathWaypoint(); SetNextWaypoint(); } else if (NextWaypoint == null) { SetNextWaypoint(); } else if (PrevWaypoint == null) { PrevWaypoint = FindNearestPathWaypoint(); } AllWaypointsSet = true; } NextWaypointData = NextWaypoint.GetComponent<PathWaypointScript>(); PrevWaypointData = PrevWaypoint.GetComponent<PathWaypointScript>(); transWaypointVector = NextWaypoint.transform.position - PrevWaypoint.transform.position; }
private void SetNextWaypoint() { //print("NextWaypointSet"); PrevWaypoint = NextWaypoint; PrevWaypointData = NextWaypoint.GetComponent<PathWaypointScript>(); if (NextWaypointData == null) NextWaypointData = NextWaypoint.GetComponent<PathWaypointScript>(); NextWaypoint = PrevWaypointData.connections[Random.Range(0, NextWaypointData.connections.Count)]; NextWaypointData = NextWaypoint.GetComponent<PathWaypointScript>(); if (!AllowRetreat && NextWaypointData.connections.Count > 1) { while (NextWaypointData.Index == PrevWaypointData.Index) { NextWaypoint = NextWaypointData.connections[Random.Range(0, NextWaypointData.connections.Count)]; NextWaypointData = NextWaypoint.GetComponent<PathWaypointScript>(); } } transWaypointVector = NextWaypoint.transform.position - PrevWaypoint.transform.position; }