示例#1
0
        public void UpdateEdge()
        {
            Offset   = VertexB.transform.position - VertexA.transform.position;
            Scale    = new Vector3(0.05f, Offset.magnitude, 0.05f);
            Position = VertexA.transform.position + (Offset / 2f);

            transform.up       = Offset;
            transform.position = Position;
            gameObject.name    = VertexA.name + " - " + VertexB.name + " Value: " + Value.ToString();

            transform.localScale = Scale;

            VertexA.UpdateStats();
            VertexB.UpdateStats();

            if (!VertexA.Active || !VertexB.Active)
            {
                transform.localScale = Vector3.zero;
            }
            else
            {
                transform.localScale = Scale;
            }
            if (_value != Value)
            {
                VertexA.UpdateWeight(VertexB, Value);
                VertexB.UpdateWeight(VertexA, Value);
                _value = Value;
            }
        }
示例#2
0
 protected bool Equals(Edge other)
 {
     return(VertexA.Equals(other.VertexA) && VertexB.Equals(VertexB));
 }
示例#3
0
 public void Move(double x, double y)
 {
     VertexA.Move(x, y);
     VertexB.Move(x, y);
     VertexC.Move(x, y);
 }