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); }
public CameraControl(CameraControlType type = CameraControlType.ArcBall) { oldMouseState = Mouse.GetState(); oldKeyboardState = Keyboard.GetState(); switch (type) { case CameraControlType.ArcBall: UpdateFunc = (camera, mouse, keyboard) => { ArcBall(camera); }; break; case CameraControlType.FPS: UpdateFunc = (camera, mouse, keyboard) => { FPS(camera); }; break; } }
static unsafe Camera() { _cameraControlCallback = OnCameraCallback;
public CameraControl(CameraControlCallback callback) { UpdateFunc = callback; }