public Ets2NavigationSegment(IEnumerable<Ets2Item> roadPath, Ets2NavigationSegment prevSeg) { Type = Ets2NavigationSegmentType.Road; Roads = roadPath.ToList(); // Generate entry/exit noads & road item order var firstRoad = Roads.FirstOrDefault(); var lastRoad = Roads.LastOrDefault(); if (prevSeg.Prefab.NodesList.ContainsValue(firstRoad.StartNode)) { Entry = firstRoad.StartNode; Exit = lastRoad.EndNode; ReversedRoadChain = false; ReversedRoadElements = false; } else if (prevSeg.Prefab.NodesList.ContainsValue(firstRoad.EndNode)) { Entry = firstRoad.EndNode; Exit = lastRoad.StartNode; ReversedRoadChain = false; ReversedRoadElements = true; } else if (prevSeg.Prefab.NodesList.ContainsValue(lastRoad.StartNode)) { Entry = lastRoad.StartNode; Exit = firstRoad.EndNode; ReversedRoadChain = true; ReversedRoadElements = false; } else if ( prevSeg.Prefab.NodesList.ContainsValue(lastRoad.EndNode)) { Entry = lastRoad.EndNode; Exit = firstRoad.StartNode; ReversedRoadChain = true; ReversedRoadElements = true; } else { } }
public Ets2NavigationSegment(IEnumerable <Ets2Item> roadPath, Ets2NavigationSegment prevSeg) { Type = Ets2NavigationSegmentType.Road; Roads = roadPath.ToList(); // Generate entry/exit noads & road item order var firstRoad = Roads.FirstOrDefault(); var lastRoad = Roads.LastOrDefault(); if (prevSeg.Prefab.NodesList.ContainsValue(firstRoad.StartNode)) { Entry = firstRoad.StartNode; Exit = lastRoad.EndNode; ReversedRoadChain = false; ReversedRoadElements = false; } else if (prevSeg.Prefab.NodesList.ContainsValue(firstRoad.EndNode)) { Entry = firstRoad.EndNode; Exit = lastRoad.StartNode; ReversedRoadChain = false; ReversedRoadElements = true; } else if (prevSeg.Prefab.NodesList.ContainsValue(lastRoad.StartNode)) { Entry = lastRoad.StartNode; Exit = firstRoad.EndNode; ReversedRoadChain = true; ReversedRoadElements = false; } else if (prevSeg.Prefab.NodesList.ContainsValue(lastRoad.EndNode)) { Entry = lastRoad.EndNode; Exit = firstRoad.StartNode; ReversedRoadChain = true; ReversedRoadElements = true; } else { } }
public Ets2NavigationSegment(Ets2Item prefab) { Type = Ets2NavigationSegmentType.Prefab; Prefab = prefab; }