private void Render(CableRoute route, float radius) { if (m_segmentSpawner == null) { return; } // Let OnDrawGizmos handle rendering when in prefab edit mode. // It's not possible to use RuntimeObjects while there. if (PrefabUtils.IsPartOfEditingPrefab(gameObject)) { return; } if (!Cable.RoutePointCurveUpToDate) { Cable.SynchronizeRoutePointCurve(); } m_segmentSpawner.Begin(); try { var points = Cable.GetRoutePoints(); for (int i = 1; i < points.Length; ++i) { m_segmentSpawner.CreateSegment(points[i - 1], points[i], radius); } } catch (System.Exception e) { Debug.LogException(e, this); } m_segmentSpawner.End(); }
private void Render(CableRoute route, float radius) { if (m_segmentSpawner == null) { return; } m_segmentSpawner.Begin(); try { var points = Cable.GetRoutePoints(); for (int i = 1; i < points.Length; ++i) { m_segmentSpawner.CreateSegment(points[i - 1], points[i], radius); } } catch (System.Exception e) { Debug.LogException(e, this); } m_segmentSpawner.End(); }
private void Render(CableRoute route, float radius) { if (m_segmentSpawner == null) { return; } m_segmentSpawner.Begin(); try { var points = Cable.GetRoutePoints(); for (int i = 1; i < points.Length; ++i) { m_segmentSpawner.CreateSegment(points[i - 1], points[i], radius); } //CableRouteNode[] nodes = route.ToArray(); //for ( int i = 1; i < nodes.Length; ++i ) // m_segmentSpawner.CreateSegment( nodes[ i - 1 ].Position, nodes[ i ].Position, radius ); } catch (System.Exception e) { Debug.LogException(e, this); } m_segmentSpawner.End(); }
private void DrawGizmos(bool isSelected) { if (Application.isPlaying) { return; } if (Cable == null || Cable.Route == null || Cable.Route.NumNodes < 2) { return; } if (!PrefabUtils.IsPartOfEditingPrefab(gameObject)) { return; } var defaultColor = Color.Lerp(Color.black, Color.white, 0.15f); var selectedColor = Color.Lerp(defaultColor, Color.green, 0.15f); m_segmentSpawner?.DrawGizmos(Cable.GetRoutePoints(), Cable.Radius, isSelected ? selectedColor : defaultColor); }