Example #1
0
    // 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;
    }
Example #2
0
    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;
    }