[VirtualInput] Fix crash when playing back while changing dimensions #248
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.
In #240 I added a "[VirtualInput] Fix camera being reset to 0 -180 when entering a world", which introduced this crash.
Reason is that the "onDoneLoadingPlayer" event, that I introduced in that PR, is also fired when switching dimensions.
And switching dimensions in this case sets the virtual camera to null, which crashes the playback with a NullPointerException.
And being once again confronted with this "clearing the virtual camera angle at the right moment" problem I realized that this system is pretty idiotic...
To fix this, the virtual camera is now set to null when leaving the game and then initialised when the player is done loading.
This way, the player should retain it's camera angle on world load and the camera angle shouldn't become null unexpectedly.
Changes
playback
for better consistency