Example #1
0
        public static void DrawDirection(Vector2 p, Vector2 d, string text, Color col)
        {
#if UNITY_EDITOR
            if (!enabled)
            {
                return;
            }
            GizmoLabel.LabelDirection(text, Utils.ToV3(p), Utils.ToV3(d), col, 1);
#endif
        }
Example #2
0
        public static void LabelNode(Node node)
        {
#if UNITY_EDITOR
            if (!enabled)
            {
                return;
            }
            GizmoLabel.Label("Node " + node.id, Utils.ToV3(node.position));
#endif
        }
Example #3
0
        public static void DrawDirection(Vector3 p, Vector3 d, string text, Color col)
        {
#if UNITY_EDITOR
            if (!enabled)
            {
                return;
            }
            GizmoLabel.LabelDirection(text, p, d, col, 1);
#endif
        }
Example #4
0
        public static void DrawLabel(Vector2 p, string text)
        {
#if UNITY_EDITOR
            if (!enabled)
            {
                return;
            }
            GizmoLabel.Label(text, Utils.ToV3(p));
#endif
        }
Example #5
0
        public static void DrawShapeNodes(Shape shape)
        {
#if UNITY_EDITOR
            if (shape == null)
            {
                return;
            }
            int baseShapeSize = shape.baseShape.Length;
            for (int i = 0; i < baseShapeSize; i++)
            {
                Debug.DrawLine(Utils.ToV3(shape.baseShape[i]), Utils.ToV3(shape.baseShape[(i + 1) % baseShapeSize]), new Color(1, 1, 1, 0.5f));//base shape
            }
            //            for (int i = 0; i < shape.liveNodeCount; i++)
            //                Debug.DrawLine(Utils.ToV3(shape.liveNodes[i].position), Utils.ToV3(shape.liveNodes[(i + 1) % shape.liveNodeCount].position), new Color(0, 1, 0, 0.3f));

            //            if(shape.terminatedNodeCount == shape.staticNodeCount)
            //            Debug.Log(shape.staticNodeCount);

            for (int i = 0; i < shape.liveNodeCount; i++)
            {
                Node nodeA = shape.LiveNode(i);
                //                Node nodeB = shape.LiveNode((i + 1) % shape.liveNodeCount);
                //                if (nodeA.earlyTemination || nodeB.earlyTemination)
                //                    Debug.DrawLine(Utils.ToV3(nodeA.position), Utils.ToV3(nodeB.position), new Color(1, 1, 0, 0.8f));
                if (shape.formingEdges.ContainsKey(nodeA))
                {
                    Debug.DrawLine(Utils.ToV3(shape.formingEdges[nodeA].nodeA.position), Utils.ToV3(shape.formingEdges[nodeA].nodeB.position), new Color(1, 0, 1, 0.5f));//forming edges
                }
            }

            for (int e = 0; e < shape.liveEdges.Count; e++)
            {
                Edge liveEdge = shape.liveEdges[e];
                Debug.DrawLine(Utils.ToV3(liveEdge.nodeA.position), Utils.ToV3(liveEdge.nodeB.position), new Color(1, 0, 0, 0.5f));//live edges
            }

            for (int s = 0; s < shape.edges.Count; s++)
            {
                Node nodeA = shape.edges[s].nodeA;
                Node nodeB = shape.edges[s].nodeB;
                Debug.DrawLine(Utils.ToV3(nodeA.position), Utils.ToV3(nodeB.position), new Color(0, 1, 1, 0.5f)); //internal shape
                GizmoLabel.Label(nodeA.ToString(), Utils.ToV3(nodeA.position) + Vector3.up * s * 0.1f, 2);        //static nodes
                GizmoLabel.Label(nodeB.ToString(), Utils.ToV3(nodeB.position) + Vector3.up * s * 0.1f, 2);        //static nodes
            }

            for (int i = 0; i < shape.liveNodeCount; i++)
            {
                GizmoLabel.Label("Live Node " + shape.LiveNode(i).id, Utils.ToV3(shape.LiveNode(i).position - shape.LiveNode(i).direction), 2);//live nodes
                Debug.DrawLine(Utils.ToV3(shape.LiveNode(i).position), Utils.ToV3(shape.LiveNode(i).position - shape.LiveNode(i).direction), Color.yellow);
                Debug.DrawLine(Utils.ToV3(shape.LiveNode(i).position), Utils.ToV3(shape.LiveNode(i).position + shape.LiveNode(i).direction *shape.LiveNode(i).distance), new Color(1, 1, 0, 0.2f));
                Debug.DrawLine(Utils.ToV3(shape.LiveNode(i).previousPosition), Utils.ToV3(shape.LiveNode(i).previousPosition) + Vector3.up, Color.green);
            }

            for (int i = 0; i < shape.staticNodeCount; i++)
            {
                GizmoLabel.Label("Static Node " + shape.StaticNode(i).id, Utils.ToV3(shape.StaticNode(i).position) + Vector3.up, 2); //static nodes
                                                                                                                                     //                Debug.DrawLine(Utils.ToV3(shape.StaticNode(i).position), Utils.ToV3(shape.StaticNode(i).position) + Vector3.up, Color.white);
            }

//            for (int i = 0; i < shape.edges.Count; i++)
//            {
//                Debug.DrawLine(Utils.ToV3(shape.baseEdges[i].nodeA.position), Utils.ToV3(shape.baseEdges[i].nodeB.position), Color.green);//live edges
//            }
#endif
        }