public bool insideRoute(SimpleKMPs.Routes.RouteGroup grp) { List <Extensions.pointInPoly.Point> poly = new List <Extensions.pointInPoly.Point>(); foreach (var en in grp.Entries) { poly.Add(new Extensions.pointInPoly.Point(en.PositionX, en.PositionZ)); } Extensions.pointInPoly.Point[] arr = poly.ToArray(); if (Extensions.pointInPoly.isInside(arr, 4, new Extensions.pointInPoly.Point(minX, minZ)) || Extensions.pointInPoly.isInside(arr, 4, new Extensions.pointInPoly.Point(minX, maxZ)) || Extensions.pointInPoly.isInside(arr, 4, new Extensions.pointInPoly.Point(maxX, maxZ)) || Extensions.pointInPoly.isInside(arr, 4, new Extensions.pointInPoly.Point(maxX, minZ))) { return(true); } return(false); }
public IntroCamePlayer(Form1 Parent, SimpleKMP kmp, Camera.CameraEntry entry) { this.Parent = Parent; this.entry = entry; this.kmp = kmp; needsRendering = false; route = kmp.Routes.Entries[entry.RouteID]; currindex = 0; UpdateLookAtValues(); UpdateFOVValues(); try { UpdateValues(); } catch { stop = true; pos = routetopos(route.Entries[currindex]); } Start(); }