- Home /
Question by
hellojbb1234 · May 31, 2018 at 08:14 PM ·
loopbreakbreakout
Having an issue with breaking out of a loop
I'm pretty sure it breaks out of the loop but there doesn't seem to be any proof of it doing that.
for (int i = 0; i < ParkingArea.parkingInstance.roads[id].connectedIntersection.Length; i++)//Pick roads
{
Intersection intersect = ParkingArea.parkingInstance.roads[id].connectedIntersection[i];//
for (int j = 0; j < intersect.arrayNumbers.Length; j++)
{
int newID = intersect.arrayNumbers[j];
if (newID != originalID)
{
//Spotted.RoadID is the id we are trying to get to
if (newID == Spotted.roadId)
{
id = newID;
}
if (newID != Spotted.roadId && id != Spotted.roadId)
{
id = newID;
}
}
}
if (ParkingArea.parkingInstance.roads[originalID].orientation != ParkingArea.parkingInstance.roads[Spotted.roadId].orientation)
{
if (id < 3)
{
laneID = 0;
}
else if (id > 3 && id < 7)
{
laneID = 1;
}
}
if (laneID == 0)
{
Vector3 point = waypoints.Last();
if (Vector3.Distance(point, ParkingArea.parkingInstance.roads[id].RightLane.end0) < Vector3.Distance(point, ParkingArea.parkingInstance.roads[id].RightLane.end1))
{
waypoints.Add(ParkingArea.parkingInstance.roads[id].RightLane.end0);
if (Vector3.Distance(ParkingArea.parkingInstance.roads[id].RightLane.end0, Spotted.roadTurnPoint) < Vector3.Distance(ParkingArea.parkingInstance.roads[id].RightLane.end0, ParkingArea.parkingInstance.roads[id].RightLane.end1))
{
UnityEngine.Debug.Log("if left");
waypoints.Add(Spotted.roadTurnPoint);
waypoints.Add(Spotted.centerPoint);
break;
}
UnityEngine.Debug.Log("Breaked");
waypoints.Add(ParkingArea.parkingInstance.roads[id].RightLane.end1);
}
else if (Vector3.Distance(point, ParkingArea.parkingInstance.roads[id].RightLane.end0) > Vector3.Distance(point, ParkingArea.parkingInstance.roads[id].RightLane.end1))
{
waypoints.Add(ParkingArea.parkingInstance.roads[id].RightLane.end1);
if (Vector3.Distance(ParkingArea.parkingInstance.roads[id].RightLane.end1, Spotted.roadTurnPoint) < Vector3.Distance(ParkingArea.parkingInstance.roads[id].RightLane.end0, ParkingArea.parkingInstance.roads[id].RightLane.end0))
{
UnityEngine.Debug.Log("else right");
waypoints.Add(Spotted.roadTurnPoint);
waypoints.Add(Spotted.centerPoint);
break;
}
waypoints.Add(ParkingArea.parkingInstance.roads[id].RightLane.end0);
}
}
if (laneID == 1)
{
Vector3 point = waypoints.Last();
if (Vector3.Distance(point, ParkingArea.parkingInstance.roads[id].LeftLane.end0) < Vector3.Distance(point, ParkingArea.parkingInstance.roads[id].LeftLane.end1))
{
waypoints.Add(ParkingArea.parkingInstance.roads[id].LeftLane.end0);
if (Vector3.Distance(ParkingArea.parkingInstance.roads[id].LeftLane.end0, Spotted.roadTurnPoint) < Vector3.Distance(ParkingArea.parkingInstance.roads[id].LeftLane.end0, ParkingArea.parkingInstance.roads[id].LeftLane.end1))
{
UnityEngine.Debug.Log("if left");
waypoints.Add(Spotted.roadTurnPoint);
waypoints.Add(Spotted.centerPoint);
UnityEngine.Debug.Log(waypoints.Count);
break;
}
waypoints.Add(ParkingArea.parkingInstance.roads[id].LeftLane.end1);
}
else if (Vector3.Distance(point, ParkingArea.parkingInstance.roads[id].LeftLane.end0) > Vector3.Distance(point, ParkingArea.parkingInstance.roads[id].LeftLane.end1))
{
waypoints.Add(ParkingArea.parkingInstance.roads[id].LeftLane.end1);
if (Vector3.Distance(ParkingArea.parkingInstance.roads[id].LeftLane.end1, Spotted.roadTurnPoint) < Vector3.Distance(ParkingArea.parkingInstance.roads[id].LeftLane.end0, ParkingArea.parkingInstance.roads[id].LeftLane.end1))
{
UnityEngine.Debug.Log("else left");
waypoints.Add(Spotted.roadTurnPoint);
waypoints.Add(Spotted.centerPoint);
UnityEngine.Debug.Log(waypoints.Count);
break;
}
waypoints.Add(ParkingArea.parkingInstance.roads[id].LeftLane.end0);
}
if(id == Spotted.roadId)
{
UnityEngine.Debug.Log(Spotted.roadId);
break;
}
}
//Find position or soon to be position whatever
//call position
Vector3[] p;
UnityEngine.Debug.Log("Debugged");
p = waypoints.ToArray();
callback(new pathResult(p, true, request.callback));
}
it really only breaks out of the loop if the originalId starts out as 2
test.png
(63.0 kB)
Comment
Your answer
Follow this Question
Related Questions
Is having a "break" in a "foreach" loop that is itself inside a "for" loop breaking both loops? 3 Answers
Instantiate inside foreach loop 1 Answer
'brake' statement makes Unity hang ? 0 Answers
How can I make my for loop "reset" if my array contains an value? 5 Answers
Foreach loop wont run completely 3 Answers