@@ -53,14 +53,16 @@ public void RegisterCallback(PoseMatrixCallback callback)
5353 if ( null == poseMatrixCallbacks )
5454 {
5555 poseMatrixCallbacks = callback ;
56- iface . registerCallback ( PoseMatrixCb , System . IntPtr . Zero ) ;
56+ rawPoseMatrixCallback = new OSVR . ClientKit . PoseCallback ( PoseMatrixCb ) ;
57+ iface . registerCallback ( rawPoseMatrixCallback , System . IntPtr . Zero ) ;
5758 }
5859 else
5960 {
6061 poseMatrixCallbacks += callback ;
6162 }
6263 }
6364
65+ private OSVR . ClientKit . PoseCallback rawPoseMatrixCallback ;
6466 private PoseMatrixCallback poseMatrixCallbacks ;
6567
6668 public void RegisterCallback ( PoseCallback callback )
@@ -69,14 +71,16 @@ public void RegisterCallback(PoseCallback callback)
6971 if ( null == poseCallbacks )
7072 {
7173 poseCallbacks = callback ;
72- iface . registerCallback ( PoseCb , System . IntPtr . Zero ) ;
74+ rawPoseCallback = new OSVR . ClientKit . PoseCallback ( PoseCb ) ;
75+ iface . registerCallback ( rawPoseCallback , System . IntPtr . Zero ) ;
7376 }
7477 else
7578 {
7679 poseCallbacks += callback ;
7780 }
7881 }
7982
83+ private OSVR . ClientKit . PoseCallback rawPoseCallback ;
8084 private PoseCallback poseCallbacks ;
8185
8286 public void RegisterCallback ( PositionCallback callback )
@@ -85,14 +89,16 @@ public void RegisterCallback(PositionCallback callback)
8589 if ( null == positionCallbacks )
8690 {
8791 positionCallbacks = callback ;
88- iface . registerCallback ( PositionCb , System . IntPtr . Zero ) ;
92+ rawPositionCallback = new OSVR . ClientKit . PositionCallback ( PositionCb ) ;
93+ iface . registerCallback ( rawPositionCallback , System . IntPtr . Zero ) ;
8994 }
9095 else
9196 {
9297 positionCallbacks += callback ;
9398 }
9499 }
95100
101+ private OSVR . ClientKit . PositionCallback rawPositionCallback ;
96102 private PositionCallback positionCallbacks ;
97103
98104 public void RegisterCallback ( OrientationCallback callback )
@@ -101,26 +107,34 @@ public void RegisterCallback(OrientationCallback callback)
101107 if ( null == orientationCallbacks )
102108 {
103109 orientationCallbacks = callback ;
104- iface . registerCallback ( OrientationCb , System . IntPtr . Zero ) ;
110+ rawOrientationCallback = new OSVR . ClientKit . OrientationCallback ( OrientationCb ) ;
111+ iface . registerCallback ( rawOrientationCallback , System . IntPtr . Zero ) ;
105112 }
106113 else
107114 {
108115 orientationCallbacks += callback ;
109116 }
110117 }
111118
119+ private OSVR . ClientKit . OrientationCallback rawOrientationCallback ;
112120 private OrientationCallback orientationCallbacks ;
113121
114122 public void RegisterCallback ( ButtonCallback callback )
115123 {
116124 Start ( ) ; // make sure the interface is initialized.
117125 if ( null == buttonCallbacks )
118126 {
119- iface . registerCallback ( ButtonCb , System . IntPtr . Zero ) ;
127+ buttonCallbacks = callback ;
128+ rawButtonCallback = new OSVR . ClientKit . ButtonCallback ( ButtonCb ) ;
129+ iface . registerCallback ( rawButtonCallback , System . IntPtr . Zero ) ;
130+ }
131+ else
132+ {
133+ buttonCallbacks += callback ;
120134 }
121- buttonCallbacks += callback ;
122135 }
123136
137+ private OSVR . ClientKit . ButtonCallback rawButtonCallback ;
124138 private ButtonCallback buttonCallbacks ;
125139
126140 public void RegisterCallback ( AnalogCallback callback )
@@ -129,18 +143,22 @@ public void RegisterCallback(AnalogCallback callback)
129143 if ( null == analogCallbacks )
130144 {
131145 analogCallbacks = callback ;
132- iface . registerCallback ( AnalogCb , System . IntPtr . Zero ) ;
146+ rawAnalogCallback = new OSVR . ClientKit . AnalogCallback ( AnalogCb ) ;
147+ iface . registerCallback ( rawAnalogCallback , System . IntPtr . Zero ) ;
133148 }
134149 else
135150 {
136151 analogCallbacks += callback ;
137152 }
138153 }
139154
155+ private OSVR . ClientKit . AnalogCallback rawAnalogCallback ;
140156 private AnalogCallback analogCallbacks ;
141157
142158 /* END GENERATED CODE - unity-generate.lua */
143159
160+
161+
144162 private void PoseCb ( System . IntPtr userdata , ref OSVR . ClientKit . TimeValue timestamp , ref OSVR . ClientKit . PoseReport report )
145163 {
146164 Vector3 position = Math . ConvertPosition ( report . pose . translation ) ;
0 commit comments