public void updateForce(IPhysicsObject forceTarget, GameTime gameTime)
        {
            // Allow target to go to sleep
            if (forceTarget.Awake)
            {
                Vector3 appliedForce = Force * forceTarget.Mass;
                Forever.Interface.ICollideable bodyHaver = forceTarget as ICollideable;
                Forever.Physics.Collide.Primitive prim = bodyHaver.GeometryData.Prim;
                if (prim is Forever.Physics.Collide.Box)
                {
                    Forever.Physics.Collide.Box box = prim as Forever.Physics.Collide.Box;
                    Vector3 totalForce = appliedForce;
                    float oldMag = totalForce.Length();
                    totalForce.Normalize();
                    float newMag = (oldMag/8f);
                    totalForce *= newMag;

                    foreach (Vector3 corner in box.WorldVerts())
                    {
                        forceTarget.addForce(totalForce, corner);
                    }

                }
                else
                {
                    forceTarget.addForce(appliedForce);
                }
            }
        }
        public void updateForce(IPhysicsObject forceTarget, GameTime gameTime)
        {
            Vector3 dir = BodyToFollow.Position - forceTarget.CenterOfMass;

            dir.Normalize();

            dir *= ForceMag;
            forceTarget.addForce(dir);
        }