public void AddJoint(InternalBaseJoint joint) { Joints.Add(joint); joint.One.Joints.Add(joint); joint.Two.Joints.Add(joint); joint.Enable(); if (joint is BaseJoint) { BaseJoint pjoint = (BaseJoint)joint; pjoint.CurrentJoint = pjoint.GetBaseJoint(); PhysicsWorld.Add(pjoint.CurrentJoint); } }
public void DestroyJoint(InternalBaseJoint joint) { if (!Joints.Remove(joint)) { SysConsole.Output(OutputType.WARNING, "Destroyed non-existent joint?!"); } joint.One.Joints.Remove(joint); joint.Two.Joints.Remove(joint); joint.Disable(); if (joint is BaseJoint) { BaseJoint pjoint = (BaseJoint)joint; PhysicsWorld.Remove(pjoint.CurrentJoint); } }