Esempio n. 1
0
        static void BodyIterator(IntPtr body, IntPtr data)
        {
            var handle = GCHandle.FromIntPtr(data);
            var action = (Action <Body>)handle.Target;

            action(Body.FromIntPtr(body));
        }
Esempio n. 2
0
        static void PostStepForBody(IntPtr space, IntPtr obj, IntPtr data)
        {
            var handle = GCHandle.FromIntPtr(data);
            var action = (Action <Body>)handle.Target;

            handle.Free();
            action(obj == IntPtr.Zero ? null :  Body.FromIntPtr(obj));
        }
Esempio n. 3
0
        public void GetBodies(out Body bodyA, out Body bodyB)
        {
            IntPtr a, b;

            __cpArbiterGetBodies(Handle.Handle, out a, out b);
            bodyA = Body.FromIntPtr(a);
            bodyB = Body.FromIntPtr(b);
        }
Esempio n. 4
0
        public void EachArbiter(Action <Body, Arbiter> action)
        {
            ArbiterIterator iterator = (body, arbiter, data) => {
                action(Body.FromIntPtr(body),
                       new Arbiter(arbiter));
            };

            cpBodyEachArbiter(Handle.Handle, iterator, IntPtr.Zero);
        }
Esempio n. 5
0
        public void EachConstraint(Action <Body, Constraint> action)
        {
            ConstraintIterator iterator = (body, constraint, data) => {
                action(Body.FromIntPtr(body),
                       Constraint.FromIntPtr(constraint));
            };

            cpBodyEachConstraint(Handle.Handle, iterator, IntPtr.Zero);
        }
Esempio n. 6
0
        public void EachShape(Action <Body, Shape> action)
        {
            ShapeIterator iterator = (body, shape, data) => {
                action(Body.FromIntPtr(body),
                       Shape.FromIntPtr(shape));
            };

            cpBodyEachShape(Handle.Handle, iterator, IntPtr.Zero);
        }