public void SetInternalTickCallback(InternalTickCallback callback, Object worldUserInfo = null,
                                     bool isPreTick = false)
 {
     if (isPreTick)
     {
         SetInternalPreTickCallback(callback);
     }
     else
     {
         SetInternalPostTickCallback(callback);
     }
     WorldUserInfo = worldUserInfo;
 }
 private void SetInternalPostTickCallback(InternalTickCallback callback)
 {
     if (_postTickCallback != callback)
     {
         _postTickCallback = callback;
         if (callback != null)
         {
             if (_postTickCallbackUnmanaged == null)
             {
                 _postTickCallbackUnmanaged = new InternalTickCallbackUnmanaged(InternalPostTickCallbackNative);
             }
             btDynamicsWorld_setInternalTickCallback(Native,
                                                     Marshal.GetFunctionPointerForDelegate(_postTickCallbackUnmanaged), IntPtr.Zero, false);
         }
         else
         {
             _postTickCallbackUnmanaged = null;
             btDynamicsWorld_setInternalTickCallback(Native, IntPtr.Zero, IntPtr.Zero, false);
         }
     }
 }
        public void SetInternalTickCallback(InternalTickCallback cb, Object worldUserInfo, bool isPreTick)
        {
            if (_callback != cb)
            {
                _callback = cb;
                if (cb != null)
                {
                    if (_callbackUnmanaged == null)
                    {
                        _callbackUnmanaged = new InternalTickCallbackUnmanaged(InternalTickCallbackNative);
                    }
                    btDynamicsWorld_setInternalTickCallback3(_native,
                                                             Marshal.GetFunctionPointerForDelegate(_callbackUnmanaged), IntPtr.Zero, isPreTick);
                }
                else
                {
                    _callbackUnmanaged = null;
                    btDynamicsWorld_setInternalTickCallback3(_native, IntPtr.Zero, IntPtr.Zero, isPreTick);
                }
            }

            WorldUserInfo = worldUserInfo;
        }
 public void SetInternalTickCallback(InternalTickCallback cb, IntPtr worldUserInfo)
 {
     SetInternalTickCallback(cb, worldUserInfo, false);
 }
 public void SetInternalTickCallback(InternalTickCallback cb)
 {
     SetInternalTickCallback(cb, WorldUserInfo, false);
 }
        public void SetInternalTickCallback(InternalTickCallback cb, Object worldUserInfo, bool isPreTick)
        {
            if (_callback != cb)
            {
                _callback = cb;
                if (cb != null)
                {
                    if (_callbackUnmanaged == null)
                    {
                        _callbackUnmanaged = new InternalTickCallbackUnmanaged(InternalTickCallbackNative);
                    }
                    btDynamicsWorld_setInternalTickCallback3(_native,
                        Marshal.GetFunctionPointerForDelegate(_callbackUnmanaged), IntPtr.Zero, isPreTick);
                }
                else
                {
                    _callbackUnmanaged = null;
                    btDynamicsWorld_setInternalTickCallback3(_native, IntPtr.Zero, IntPtr.Zero, isPreTick);
                }
            }

            WorldUserInfo = worldUserInfo;
        }
 public void SetInternalTickCallback(InternalTickCallback cb, IntPtr worldUserInfo)
 {
     SetInternalTickCallback(cb, worldUserInfo, false);
 }
 public void SetInternalTickCallback(InternalTickCallback cb)
 {
     SetInternalTickCallback(cb, WorldUserInfo, false);
 }