public void DrawCurveGizmos(float pointRadius, float lastPointArrivalRadius, bool loop, int highlightedIndex)
        {
            var points = FindPathPoints();

            if (points.Length <= 0)
            {
                return;
            }

            var pointPositions = FindPathPoints().Select((PathPoint point) => (Vector2)point.transform.position);

            Gizmos.color = Color.red;
            GizmosHelper.DrawCurve(pointPositions, loop: loop);

            var pointIndex = 0;

            foreach (var point in pointPositions)
            {
                var isCurrent = pointIndex == highlightedIndex;
                Gizmos.color = isCurrent ? Color.blue : Color.red;
                GizmosHelper.DrawCircle(point, pointRadius);
                pointIndex++;
            }

            if (lastPointArrivalRadius > 0.0f)
            {
                Gizmos.color = Color.green;
                GizmosHelper.DrawCircle(points.Last().transform.position, lastPointArrivalRadius);
            }
        }
Beispiel #2
0
        public static void DrawCurve <PointType>(IEnumerable <PointType> points, System.Func <PointType, Vector2> getPosition, float pointSize = -1.0f, bool wireframePoint = false)
        {
            Vector2?prevPosition = null;

            foreach (var point in points)
            {
                var position = getPosition(point);

                if (prevPosition.HasValue)
                {
                    Gizmos.DrawLine(prevPosition.Value, position);
                }

                if (pointSize > 0.0f)
                {
                    if (wireframePoint)
                    {
                        GizmosHelper.DrawCircle(position, pointSize);
                    }
                    else
                    {
                        Gizmos.DrawSphere(position, pointSize);
                    }
                }

                prevPosition = position;
            }
        }
        private void OnDrawGizmos()
        {
            if (m_sensor != null)
            {
                return;
            }

            Gizmos.color = Color.red;
            GizmosHelper.DrawCircle(transform.position, m_sensorRange);
        }
 private void OnDrawGizmos()
 {
     if (m_ghostPlayer)
     {
         Gizmos.color = Color.green;
         GizmosHelper.DrawCircle(m_ghostPlayer.position, m_minOffset);
         Gizmos.color = Color.red;
         GizmosHelper.DrawCircle(m_ghostPlayer.position, m_maxOffset);
     }
 }
Beispiel #5
0
        private void OnDrawGizmos()
        {
            if (!m_drawGizmos)
            {
                return;
            }

            Gizmos.color = m_color;
            GizmosHelper.DrawCircle(transform.position, m_radius);
        }
        protected override void DrawGizmos()
        {
            base.DrawGizmos();

            if (m_target == null)
            {
                return;
            }

            if (m_slowNearTarget)
            {
                Gizmos.color = Color.green;
                GizmosHelper.DrawCircle(m_target.position, m_brakingRadius);
                GizmosHelper.DrawCircle(m_target.position, m_epsilonRadius);
            }
        }
        protected override void DrawGizmos()
        {
            base.DrawGizmos();

            Gizmos.color = Color.magenta;
            GizmosHelper.DrawCircle(position, m_minDistance);
            GizmosHelper.DrawCircle(position, m_maxDistance);

            Gizmos.color = Color.black;
            GizmosHelper.DrawCircle(position, m_hullRadius);
            GizmosHelper.DrawCircle(position, m_hullRadius + m_safetyDistance);

            if (m_currentTargetData.HasValue)
            {
                var data = m_currentTargetData.Value;

                Gizmos.color = Color.white;
                GizmosHelper.DrawVector(position, data.direction);

                Gizmos.color = Color.blue;
                Gizmos.DrawLine(position, data.position);
            }
        }
Beispiel #8
0
        public static void DrawCurve(IEnumerable <Vector2> points, float pointSize = -1.0f, bool wireframePoint = false, bool loop = false)
        {
            Vector2?firstPoint = null;
            Vector2?prevPoint  = null;

            foreach (var point in points)
            {
                if (!firstPoint.HasValue)
                {
                    firstPoint = point;
                }

                if (prevPoint.HasValue)
                {
                    Gizmos.DrawLine(prevPoint.Value, point);
                }

                if (pointSize > 0.0f)
                {
                    if (wireframePoint)
                    {
                        GizmosHelper.DrawCircle(point, pointSize);
                    }
                    else
                    {
                        Gizmos.DrawSphere(point, pointSize);
                    }
                }

                prevPoint = point;
            }

            if (loop && prevPoint.HasValue && firstPoint.HasValue)
            {
                Gizmos.DrawLine(prevPoint.Value, firstPoint.Value);
            }
        }
 private void OnDrawGizmos()
 {
     Gizmos.color = Color.red;
     GizmosHelper.DrawCircle(transform.position, m_radius);
 }
 private void OnDrawGizmos()
 {
     Gizmos.color = m_gizmoColor;
     GizmosHelper.DrawCircle(m_center, m_radius, 64);
 }