Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
        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);
        }