Inheritance: GraphModifier
Exemplo n.º 1
0
        public override void DrawGizmos()
        {
            bool  selected = GizmoContext.InActiveSelection(this);
            Color color    = selected ? GizmosColorSelected : GizmosColor;

            if (StartTransform != null)
            {
                Draw.CircleXZ(StartTransform.position, 0.4f, color);
            }
            if (EndTransform != null)
            {
                Draw.CircleXZ(EndTransform.position, 0.4f, color);
            }

            if (StartTransform != null && EndTransform != null)
            {
                NodeLink.DrawArch(StartTransform.position, EndTransform.position, color);
                if (selected)
                {
                    Vector3 cross = Vector3.Cross(Vector3.up, (EndTransform.position - StartTransform.position)).normalized;
                    NodeLink.DrawArch(StartTransform.position + cross * 0.1f, EndTransform.position + cross * 0.1f, color);
                    NodeLink.DrawArch(StartTransform.position - cross * 0.1f, EndTransform.position - cross * 0.1f, color);
                }
            }
        }
Exemplo n.º 2
0
		public static void LinkObjects (Transform a, Transform b, bool removeConnection) {
			NodeLink connecting = null;
			NodeLink[] conns = a.GetComponents<NodeLink> ();
			for (int i=0;i<conns.Length;i++) {
				if (conns[i].end == b) {
					connecting = conns[i];
					break;
				}
			}
			
			conns = b.GetComponents<NodeLink> ();
			for (int i=0;i<conns.Length;i++) {
				if (conns[i].end == a) {
					connecting = conns[i];
					break;
				}
			}
			
			if (removeConnection) {
				if (connecting != null) DestroyImmediate (connecting);
			} else {
				if (connecting == null) {
					connecting = a.gameObject.AddComponent<NodeLink> ();
					connecting.end = b;
				} else {
					connecting.deleteConnection = !connecting.deleteConnection;
				}
			}
		}
Exemplo n.º 3
0
        public override void DrawGizmos()
        {
            if (Start == null || End == null)
            {
                return;
            }

            NodeLink.DrawArch(Start.position, End.position, deleteConnection ? Color.red : Color.green);
        }