public void OnGUI() { SimGUIUtil.contextHelpText = HelpText; GUILayout.BeginArea(SimGUIUtil.contextControlZone, GUI.skin.box); mPolyRefs.OnGUI(); GUILayout.EndArea(); LabelRegion labels = SimGUIUtil.labels; labels.Clear(); const int LabelCount = 3; int slot = labels.SlotCount - 1 - LabelCount; if (mHitParam > 1) { labels.Set(slot++, "Hit parameter", "Ray hit goal."); } else { labels.Set(slot++, "Hit parameter", string.Format("{0:F2}", mHitParam)); } labels.Set(slot++, "Hit normal", Vector3Util.ToString(mHitNorm)); labels.Set(slot++, "Path length", mResultCount.ToString()); labels.Last = mMessages; }
public void OnGUI() { LabelRegion labels = SimGUIUtil.labels; labels.Clear(); labels.Last = mMessage; const int LabelCount = 2; int slotIndex = labels.SlotCount - 1 - LabelCount; if (mHasPosition) { labels.Set(slotIndex++, "Position", Vector3Util.ToString(mPosition.point)); } else { labels.Set(slotIndex++, "Position", "None"); } if (mHasNearestPoint) { labels.Set(slotIndex++, "Nearest Point", Vector3Util.ToString(mNearest.point)); } else { labels.Set(slotIndex++, "Nearest Point", "None"); } }
public void OnGUI() { GUILayout.BeginArea(SimGUIUtil.contextControlZone, GUI.skin.box); mPolyRefs.OnGUI(); GUILayout.EndArea(); LabelRegion labels = SimGUIUtil.labels; labels.Clear(); const int LabelCount = 2; int slotIndex = labels.SlotCount - 1 - LabelCount; if (mHasPosition) { labels.Set(slotIndex++, "Polygons found", mResultCount.ToString()); } else { labels.Set(slotIndex++, "Polygons found", "0"); } labels.Set(slotIndex++, "Search Radius", string.Format("{0:F2}", mSearchRadius)); labels.Last = mMessage; }
public void OnGUI() { LabelRegion labels = SimGUIUtil.labels; labels.Clear(); labels.Last = mMessage; const int LabelCount = 3; int iSlot = labels.SlotCount - 1 - LabelCount; const string PointLabel = "Point on mesh"; if (mHasSearchPoint) { labels.Set(iSlot++, "PolyRef", mNavmeshPoint.polyRef.ToString()); if (mFoundPoly) { labels.Set(iSlot++, PointLabel, Vector3Util.ToString(mNavmeshPoint.point)); } else { labels.Set(iSlot++, PointLabel, "Unknown"); } } else { iSlot += 2; } labels.Set(iSlot++, "Extents", Vector3Util.ToString(mHelper.extents)); }
public void OnGUI() { if (mResultCount > 0) { Camera cam = Camera.main; for (int i = 0; i < mResultCount; i++) { if (mParentRefs[i] == 0) { continue; } Vector3 center = GetBufferedCentroid(mPolyRefs.buffer[i]); center = cam.WorldToScreenPoint(center); center.y = cam.pixelHeight - center.y + 4; GUI.Label(new Rect(center.x, center.y, 100, SimGUIUtil.LineHeight) , string.Format("{0:F2}", mCosts[i])); } } GUILayout.BeginArea(SimGUIUtil.contextControlZone, GUI.skin.box); mPolyRefs.OnGUI(); GUILayout.EndArea(); LabelRegion labels = SimGUIUtil.labels; labels.Clear(); const int LabelCount = 2; int slotIndex = labels.SlotCount - 1 - LabelCount; if (mHasPosition) { labels.Set(slotIndex++, "Polygons found", mResultCount.ToString()); } else { labels.Set(slotIndex++, "Polygons found", "0"); } labels.Set(slotIndex++, "Search Radius", string.Format("{0:F2}", mSearchRadius)); labels.Last = mMessage; }
public bool ContainsCoordinates(Point click) { if (LabelRegion == Rectangle.Empty) { CalculateLabelSize(); } if (LabelRegion.Contains(click)) { return(true); } else if (IsInPolygon(Border, click)) { return(true); } return(false); }
public void OnGUI() { SimGUIUtil.contextHelpText = HelpText; GUILayout.BeginArea(SimGUIUtil.contextControlZone, GUI.skin.box); mPolyRefs.OnGUI(); GUILayout.EndArea(); LabelRegion labels = SimGUIUtil.labels; labels.Clear(); const int LabelCount = 1; int slot = labels.SlotCount - 1 - LabelCount; labels.Set(slot++, "Visited Polys", mVisitedCount.ToString()); labels.Last = mMessages; }
public void OnGUI() { SimGUIUtil.contextHelpText = HelpText; mMessages = ""; GUILayout.BeginArea(SimGUIUtil.contextControlZone, GUI.skin.box); HandleControls(); GUILayout.EndArea(); LabelRegion labels = SimGUIUtil.labels; labels.Clear(); mSlotIndex = labels.SlotCount - 1 - LabelCount; HandleLabels(); labels.Last = mMessages; }
public void OnGUI() { LabelRegion labels = SimGUIUtil.labels; labels.Clear(); labels.Last = mMessage; const int LabelCount = 1; int slotIndex = labels.SlotCount - 1 - LabelCount; labels.Set(slotIndex++, "Wall segments", mSegmentCount.ToString()); if (mSegmentCount > 0) { Rect rect = new Rect(Input.mousePosition.x - 5 , Screen.height - Input.mousePosition.y - 25 , 100, SimGUIUtil.LineHeight + 5); GUI.Label(rect, mSegmentCount.ToString()); } }
public void OnGUI() { GUILayout.BeginArea(SimGUIUtil.contextControlZone, GUI.skin.box); mPolyRefs.OnGUI(); GUILayout.EndArea(); LabelRegion labels = SimGUIUtil.labels; labels.Clear(); labels.Last = mMessage; const int LabelCount = 3; int iSlot = labels.SlotCount - 1 - LabelCount; string msg = mResultCount + " ("; for (int i = 0; i < mResultCount; i++) { msg += mPolyRefs.buffer[i].ToString() + ((i == mResultCount - 1) ? "" : ","); } msg += ")"; labels.Set(iSlot++, "Polys Found", msg); if (mHasPosition) { labels.Set(iSlot++, "Geometry Point", Vector3Util.ToString(mPosition)); } else { labels.Set(iSlot++, "Geometry Point", "None"); } labels.Set(iSlot++, "Search Extents", Vector3Util.ToString(mHelper.extents)); }
public void OnGUI() { LabelRegion labels = SimGUIUtil.labels; labels.Clear(); labels.Last = mMessage; const int LabelCount = 3; int slotIndex = labels.SlotCount - 1 - LabelCount; int portal = 0; int wall = 0; for (int i = 0; i < mSegmentCount; i++) { if (mSegmentRefs[i] == 0) { wall++; } else { portal++; } } labels.Set(slotIndex++, "Wall segments", wall.ToString()); labels.Set(slotIndex++, "Protal segments", portal.ToString()); labels.Set(slotIndex++, "Total segments", mSegmentCount.ToString()); if (mSegmentCount > 0) { Rect rect = new Rect(Input.mousePosition.x - 5 , Screen.height - Input.mousePosition.y - 25 , 100, SimGUIUtil.LineHeight + 5); GUI.Label(rect, mSegmentCount.ToString()); } }
public void OnGUI() { LabelRegion labels = SimGUIUtil.labels; labels.Clear(); labels.Last = mMessage; const int LabelCount = 2; int slotIndex = labels.SlotCount - 1 - LabelCount; if (mHasPosition) { labels.Set(slotIndex++, "Geometry Position", Vector3Util.ToString(mPosition.point)); } else { labels.Set(slotIndex++, "Geometry Position", "None"); } if (mHasHeight) { labels.Set(slotIndex++, "Poly Height", string.Format("{0:F2}", mHeight)); } else { labels.Set(slotIndex++, "Poly Height", "None"); } if (mHasHeight) { Rect rect = new Rect(Input.mousePosition.x - 5 , Screen.height - Input.mousePosition.y - 25 , 100, SimGUIUtil.LineHeight); GUI.Label(rect, string.Format("{0:F2}", mHeight)); } }
public void OnGUI() { LabelRegion labels = SimGUIUtil.labels; labels.Clear(); labels.Last = mMessage; const int LabelCount = 4; int slot = labels.SlotCount - 1 - LabelCount; if (mHasPosition) { Rect rect = new Rect(Input.mousePosition.x - 5 , Screen.height - Input.mousePosition.y - 25 , 100, SimGUIUtil.LineHeight + 5); GUI.Label(rect, string.Format("{0:F3}", mWallDistance)); labels.Set(slot++, "Wall Distance", string.Format("{0:F3}", mWallDistance)); labels.Set(slot++, "Wall Point", Vector3Util.ToString(mWallHitPoint)); labels.Set(slot++, "Wall Normal", Vector3Util.ToString(mWallNormal)); labels.Set(slot++, "Search Radius", string.Format("{0:F2}", mSearchRadius)); } }
void OnGUI() { if (SimGUIUtil.hideGUI || mGroup.mesh == null) { return; } LabelRegion labels = SimGUIUtil.labels; labels.Clear(); if (mPathCount == 0) { labels.Last = "No path."; SimGUIUtil.OnGUI(); return; } GUILayout.BeginArea(SimGUIUtil.contextControlZone, GUI.skin.box); if (GUILayout.Button("Optimize Topology")) { mCorridor.OptimizePathTopology(true); } GUI.enabled = (mPathEnd.polyRef != 0); if (GUILayout.Button("Replan Path")) { FindPath(); } GUI.enabled = true; mPath.OnGUI(); if (mPath.HandleResize()) { HandlePathBufferResize(); } mCornerPolys.OnGUI(); if (mCornerPolys.HandleResize()) { mCorridor.ResizeCornerBuffer(mCornerPolys.MaxElementCount); } GUILayout.Label("Optimiation Range"); GUILayout.BeginHorizontal(); optimizationRange = (int)GUILayout.HorizontalSlider(optimizationRange, 1, 30); GUILayout.Label(optimizationRange.ToString()); GUILayout.EndHorizontal(); GUILayout.EndArea(); const int LabelCount = 2; int slotIndex = labels.SlotCount - LabelCount; string msg = mCorridor.Corners.cornerCount + " of " + (mCorridor.Corners.MaxCorners - 1); labels.Set(slotIndex++, "Detected Corners", msg); msg = mPathCount + " of " + mCorridor.MaxPathSize; labels.Set(slotIndex++, "Corridor Polygons", msg); SimGUIUtil.OnGUI(); }