void OnDestroy() { if (enableSignalControl) { HandGestureManager.Instance.Controller <HandSignalController>().unregisterCallbackFromInspector(handSignalCallback); handSignalCallback = null; } if (enableCursorControl) { HandGestureManager.Instance.Controller <HandCursorController>().unregisterCallbackFromInspector(handCursorCallback); handCursorCallback = null; } if (enableGrabControl) { HandGestureManager.Instance.Controller <HandGrabController>().unregisterCallbackFromInspector(handGrabCallback); handGrabCallback = null; } if (enableRawTrackingControl) { HandGestureManager.Instance.Controller <HandTrackingController>().unregisterCallbackFromInspector(handTrackingCallback); handTrackingCallback = null; } HandGestureManager.Instance.Destroy(); mMADSDKIntegratorHandSignal.OnDestroy(); mMADSDKIntegratorHandCursor.OnDestroy(); mMADSDKIntegratorTrackedHand.OnDestroy(); mMADSDKIntegratorGrab.OnDestroy(); }
public void registerCallbackFromInspector(HandCursorCallback callback, bool enableOnStartup) { Log("registerCallbackFromInspector"); if (enableOnStartup) { this.Enabled = true; } if (callback.OnTracked != null) { _handGestureCursorTrackedEvent.Add(callback.OnTracked); } if (callback.OnMoved != null) { _handGestureCursorMovedEvent.Add(callback.OnMoved); } if (callback.OnClicked != null) { _handGestureCursorClickedEvent.Add(callback.OnClicked); } if (callback.OnTrackedLost != null) { _handGestureCursorLostEvent.Add(callback.OnTrackedLost); } }
public void unregisterCallbackFromInspector(HandCursorCallback callback) { Log("unregisterCallbackFromInspector"); if (callback.OnTracked != null) { _handGestureCursorTrackedEvent.Remove(callback.OnTracked); } if (callback.OnMoved != null) { _handGestureCursorMovedEvent.Remove(callback.OnMoved); } if (callback.OnClicked != null) { _handGestureCursorClickedEvent.Remove(callback.OnClicked); } if (callback.OnTrackedLost != null) { _handGestureCursorLostEvent.Remove(callback.OnTrackedLost); } }