@@ -114,97 +114,114 @@ public enum WMRButton
114114 // Use this for initialization
115115 void Start ( )
116116 {
117- checkVive = true ;
118- checkOculus = ( KeyCode ) OculusTriggerButton != ( KeyCode ) ViveTriggerButton ;
119- checkWMR = ( KeyCode ) WMRTriggerButton != ( KeyCode ) ViveTriggerButton && ( KeyCode ) WMRTriggerButton != ( KeyCode ) OculusTriggerButton ;
117+ string model = XRDevice . model != null ? XRDevice . model . ToLower ( ) : "" ;
118+ if ( model . Contains ( "vive" ) )
119+ {
120+ checkVive = true ;
121+ checkOculus = false ;
122+ checkWMR = false ;
123+ }
124+ else if ( model . Contains ( "oculus" ) )
125+ {
126+ checkVive = false ;
127+ checkOculus = true ;
128+ checkWMR = false ;
129+ }
130+ else
131+ {
132+ checkVive = false ;
133+ checkOculus = false ;
134+ checkWMR = true ;
135+ }
120136 }
121137
122138 // Update is called once per frame
123139 void Update ( )
124140 {
125-
126- for ( int i = 0 ; i < 3 ; i ++ )
141+ KeyCode triggerButton = ( checkVive )
142+ ? ( KeyCode ) ViveTriggerButton
143+ : ( checkOculus )
144+ ? ( KeyCode ) OculusTriggerButton
145+ : ( checkWMR )
146+ ? ( KeyCode ) WMRTriggerButton
147+ : KeyCode . None ;
148+ if ( triggerButton == KeyCode . None )
149+ return ;
150+ bool allowCheck = true ;
151+ if ( triggerButton == ( KeyCode ) ViveButton . LeftTrigger || triggerButton == ( KeyCode ) ViveButton . RightTrigger )
127152 {
128- KeyCode triggerButton = ( i == 0 && checkVive )
129- ? ( KeyCode ) ViveTriggerButton
130- : ( i == 1 && checkOculus )
131- ? ( KeyCode ) OculusTriggerButton
132- : ( i == 2 && checkWMR )
133- ? ( KeyCode ) WMRTriggerButton
134- : KeyCode . None ;
135- if ( triggerButton == KeyCode . None )
136- continue ;
137- bool allowCheck = true ;
138- if ( triggerButton == ( KeyCode ) ViveButton . LeftTrigger || triggerButton == ( KeyCode ) ViveButton . RightTrigger )
153+ //float triggerValue = VRControllersInputManager.TriggerValue((triggerButton == ViveButton.LeftTrigger) ? XRNode.LeftHand : XRNode.RightHand);
154+ string axisName = ( triggerButton == ( KeyCode ) ViveButton . LeftTrigger ) ? "TriggerLeftHand" : "TriggerRightHand" ;
155+ try
139156 {
140- //float triggerValue = VRControllersInputManager.TriggerValue((triggerButton == ViveButton.LeftTrigger) ? XRNode.LeftHand : XRNode.RightHand);
141- string axisName = ( triggerButton == ( KeyCode ) ViveButton . LeftTrigger ) ? "TriggerLeftHand" : "TriggerRightHand" ;
142- try
143- {
144- float triggerValue = Input . GetAxis ( axisName ) ;
145- if ( triggerValue < 0.1f )
146- allowCheck = false ;
147- }
148- catch ( Exception e )
149- {
150- }
157+ float triggerValue = Input . GetAxis ( axisName ) ;
158+ if ( triggerValue < 0.1f )
159+ allowCheck = false ;
151160 }
161+ catch ( Exception e )
162+ {
163+ }
164+ }
152165
153- if ( allowCheck && Input . GetKeyDown ( triggerButton ) )
166+ if ( allowCheck && Input . GetKeyDown ( triggerButton ) )
167+ {
168+ //Debug.Log(pressedKey + " is pressed");
169+ checkDoubleClick = ( Time . time - pressTime <= interval ) ;
170+ pressTime = Time . time ;
171+ OnPress ( ) ;
172+ checkLongClick = true ;
173+ checkClick = false ;
174+ }
175+ else if ( allowCheck && Input . GetKey ( triggerButton ) )
176+ {
177+ //Debug.Log(pressedKey + " is hold");
178+ OnHold ( ) ;
179+ if ( checkLongClick && Time . time - pressTime >= longClickInterval )
154180 {
155- //Debug.Log(pressedKey + " is pressed");
156- checkDoubleClick = ( Time . time - pressTime <= interval ) ;
157- pressTime = Time . time ;
158- OnPress ( ) ;
159- checkLongClick = true ;
160- checkClick = false ;
181+ checkLongClick = false ;
182+ OnLongClick ( ) ;
183+ longClicked = true ;
161184 }
162- else if ( allowCheck && Input . GetKey ( triggerButton ) )
185+ }
186+ else if ( Input . GetKeyUp ( triggerButton ) )
187+ {
188+ //Debug.Log(pressedKey + " is up");
189+ releaseTime = Time . time ;
190+ OnRelease ( ) ;
191+ if ( longClicked )
163192 {
164- //Debug.Log(pressedKey + " is hold");
165- OnHold ( ) ;
166- if ( checkLongClick && Time . time - pressTime >= longClickInterval )
167- {
168- checkLongClick = false ;
169- OnLongClick ( ) ;
170- longClicked = true ;
171- }
193+ OnReleaseAfterLongClick ( ) ;
194+ longClicked = false ;
172195 }
173- else if ( Input . GetKeyUp ( triggerButton ) )
196+ //Debug.Log("GetKeyUp : releaseTime - pressTime = " + (releaseTime - pressTime));
197+ if ( releaseTime - pressTime <= interval )
174198 {
175- //Debug.Log(pressedKey + " is up");
176- releaseTime = Time . time ;
177- OnRelease ( ) ;
178- if ( longClicked )
199+ if ( checkDoubleClick )
179200 {
180- OnReleaseAfterLongClick ( ) ;
181- longClicked = false ;
201+ OnDoubleClick ( ) ;
182202 }
183- //Debug.Log("GetKeyUp : releaseTime - pressTime = " + (releaseTime - pressTime));
184- if ( releaseTime - pressTime <= interval )
203+ else
185204 {
186- if ( checkDoubleClick )
187- {
188- OnDoubleClick ( ) ;
189- }
190- else
191- {
192- checkClick = true ;
193- }
205+ checkClick = true ;
194206 }
195207 }
196- else if ( checkClick && Time . time - releaseTime > interval )
197- {
198- checkClick = false ;
199- OnClick ( ) ;
200- }
201208 }
202-
209+ else if ( checkClick && Time . time - releaseTime > interval )
210+ {
211+ checkClick = false ;
212+ OnClick ( ) ;
213+ }
214+
203215 }
204216
205217 void OnClick ( )
206218 {
207219 //Debug.Log("OnClick");
220+ Console . WriteLine ( "OnClick" ) ;
221+ foreach ( MonoBehaviour comp in gameObject . GetComponentsInChildren < MonoBehaviour > ( ) )
222+ {
223+ Console . WriteLine ( "name: " + comp . name + " : " + comp ) ;
224+ }
208225 clickEvents . Invoke ( ) ;
209226 }
210227
0 commit comments