protected override void CopyTo(JointInfo target) { base.CopyTo(target); PulleyJointInfo c = target as PulleyJointInfo; c.localAnchorB = this.localAnchorB; c.localAnchorA = this.localAnchorA; c.worldAnchorB = this.worldAnchorB; c.worldAnchorA = this.worldAnchorA; c.maxLengthA = this.maxLengthA; c.maxLengthB = this.maxLengthB; c.totalLength = this.totalLength; c.ratio = this.ratio; }
private void DrawJoint(Canvas canvas, PulleyJointInfo joint) { float maxLenA = MathF.Min(joint.MaxLengthA, joint.TotalLength - (joint.Ratio * joint.LengthB)); float maxLenB = MathF.Min(joint.MaxLengthB, joint.Ratio * (joint.TotalLength - joint.LengthA)); this.DrawWorldDistConstraint(canvas, joint.BodyA, joint.LocalAnchorA, joint.WorldAnchorA, 0.0f, maxLenA); this.DrawWorldDistConstraint(canvas, joint.BodyB, joint.LocalAnchorB, joint.WorldAnchorB, 0.0f, maxLenB); this.DrawWorldLooseConstraint(canvas, joint.BodyA, joint.WorldAnchorA, joint.WorldAnchorB); this.DrawLocalAnchor(canvas, joint.BodyB, joint.LocalAnchorB); this.DrawLocalAnchor(canvas, joint.BodyA, joint.LocalAnchorA); }