public static unsafe void ControlCamera(CameraControlDuration inHowLong, CameraControlCallback inControlFunc, void *inRefcon)
        {
            IL.DeclareLocals(false);
            IntPtr inControlFuncPtr = inControlFunc != null?Marshal.GetFunctionPointerForDelegate(inControlFunc) : default;

            ControlCameraPrivate(inHowLong, inControlFuncPtr, inRefcon);
            GC.KeepAlive(inControlFunc);
        }
 private static unsafe void ControlCameraPrivate(CameraControlDuration inHowLong, IntPtr inControlFunc, void *inRefcon)
 {
     IL.DeclareLocals(false);
     Guard.NotNull(ControlCameraPtr);
     IL.Push(inHowLong);
     IL.Push(inControlFunc);
     IL.Push(inRefcon);
     IL.Push(ControlCameraPtr);
     IL.Emit.Calli(new StandAloneMethodSig(CallingConvention.Cdecl, typeof(void), typeof(CameraControlDuration), typeof(IntPtr), typeof(void *)));
 }
Esempio n. 3
0
 static extern void XPLMControlCamera(CameraControlDuration howLong, delegate *unmanaged <CameraPosition *, int, nint, int> control, nint state);
Esempio n. 4
0
 public static unsafe void Control(CameraControlDuration howLong, CameraControl control)
 {