public override void OnConnectedTo(JointWrapper joint) { if (joint.GetSource() is Membrane m) { Assert.IsNull(prev, "Unexpected joint connection"); prev = m; } }
public override void OnUnownedJointBroke(JointWrapper joint) { if (joint.GetSource() is Membrane m) { Assert.AreEqual(m, prev, "Unexpected joint connection broke"); prev = null; } }
public virtual void ConfigureJointConstants(JointWrapper wrap) { var joint = wrap.GetOrMakeJoint <SpringJoint2D>(); joint.distance = wrap.GetSource().GetNearbyRadius() + wrap.GetConnected().GetRadius() - .2f; joint.frequency = CellPartBalance.i.springFreq; joint.breakForce = CellPartBalance.i.springBreakForce; joint.autoConfigureDistance = false; joint.enableCollision = true; }