Exemplo n.º 1
0
        void SetDefaultCollisionHandler(Func <Arbiter, Space, bool> beginFunc, Func <Arbiter, Space, bool> preSolveFunc, Action <Arbiter, Space> postSolveFunc, Action <Arbiter, Space> separateFunc)
        {
            BeginFunc begin = beginFunc == null ? (BeginFunc)null : (arbiter, space, data) => {
                return(beginFunc(new Arbiter(arbiter), this));
            };
            PreSolveFunc presolve = preSolveFunc == null ? (PreSolveFunc)null : (arbiter, space, data) => {
                return(preSolveFunc(new Arbiter(arbiter), this));
            };
            PostSolveFunc postsolve = postSolveFunc == null ? (PostSolveFunc)null : (arbiter, space, data) => {
                postSolveFunc(new Arbiter(arbiter), this);
            };
            SeparateFunc separate = separateFunc == null ? (SeparateFunc)null : (arbiter, psace, data) => {
                separateFunc(new Arbiter(arbiter), this);
            };

            cpSpaceSetDefaultCollisionHandler(Handle.Handle, begin, presolve, postsolve, separate, IntPtr.Zero);
        }
Exemplo n.º 2
0
 extern static void cpSpaceSetDefaultCollisionHandler(IntPtr space, BeginFunc begin, PreSolveFunc presolve, PostSolveFunc postsolve, SeparateFunc separate, IntPtr data);
Exemplo n.º 3
0
 extern static void cpSpaceAddCollisionHandler(IntPtr space, uint collisionTypeA, uint collisionTypeB, BeginFunc begin, PreSolveFunc presolve, PostSolveFunc postsolve, SeparateFunc separate, IntPtr data);