-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Fix errors when buttons are pressed on Quest 2 controllers before the model is loaded #5223
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
b569016
Check if buttonObjects or buttonMeshes is defined before accessing it…
vincentfretin 7b2cda9
check this.buttonMeshes before calling this.onButtonChangedV3
vincentfretin cf102c8
Revert "check this.buttonMeshes before calling this.onButtonChangedV3"
vincentfretin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thinking this code block doesn't belong here (function should be model agnostic) and probably we should listen to a
triggermovedlistener event like here:https://github.com/aframevr/aframe/pull/5223/files#diff-2ee48b207a426377ea32a1749d345fd8c9b1adbe0b9d971eccb7860e1fb41cd2L214
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand what you want to change here.
onButtonChangedV3is called fromonButtonChangedthat is a listener ofbuttonchangedalready. If you have a refactoring in mind, you should probably merge this PR first and do a refactoring in another PR?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line https://github.com/aframevr/aframe/pull/5223/files#diff-2ee48b207a426377ea32a1749d345fd8c9b1adbe0b9d971eccb7860e1fb41cd2R343
if (!buttonObjects) { return; }is needed because the model is accessed here https://github.com/aframevr/aframe/pull/5223/files#diff-2ee48b207a426377ea32a1749d345fd8c9b1adbe0b9d971eccb7860e1fb41cd2R352 to update the trigger / grip. Those updates should be done in a different method thanclickButtonsthat should remain model agnostic.My proposal is that this check should not be necessary https://github.com/aframevr/aframe/pull/5223/files#diff-2ee48b207a426377ea32a1749d345fd8c9b1adbe0b9d971eccb7860e1fb41cd2R343 and grip / trigger and button should be updated in a separate method similar to how we do with thumbstick in onThumbStickMoved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alternatively move the logic to updateButtonModel. Goal is to consolidate model updates in fewer places. Less redundant checks and easier to maintain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clickButtonsis not a method, it's just an array, I think you meantonButtonChangedV3here?onThumbstickMovedis forthumbstickmovedeventonButtonChange/onButtonChangedV3is forbuttonchangedevent.onThumbstickMovedandonButtonChangehave similar check forbuttonMeshes.You probably want to keep a separate listener for each event, right?
You want to remove
onButtonChangedV3and put the code back toonButtonChangeand slightly refactor it, not sure what can be refactored exactly though? Is that what you want?Or simply do the
if (buttonMeshes)check before callingthis.onButtonChangedV3(evt)and remove it fromonButtonChangedV3?. I'll do the latter that in a commit now.updateButtonModelis called fromupdateModelwhich is called byonButtonEvent, used to define listenersonButtonDownonButtonUponButtonTouchStartonButtonTouchEnd, but not foronButtonChangedcurrently, not sure what is particular about it currently and if we can defineonButtonChangedto useonButtonEventinstead and move all the current logic ofonButtonChanged/onButtonChangedV3toupdateButtonModel. If this is what you want, I really prefer we do it in a separate PR, because it's not a trivial change, I don't want to break anything in this PR.