Look at this playground: Babylon.js Playground
You will need to open console to see the problem.
When you are pressing and releasing single button you will see event type 1 (pointer down) and event type 2 (pointer up) in a console. Here it is working as expected.
But try to hold RMB and click LMB. You will see only two of event type 4 events (which are pointer move). This glitch doesn’t allow me to shot when I am aiming in my simulation.
Of course I have found how to bypass this:
_setScopedFire () {
this.scopedFire = this.zoomIn && !this.scopedFire;
}
This function changes the flag on each pointer event while we are aiming. This is how we can divide up and down events. But still I think that original behavior is a bug. If this might be fixed then my hack will not be needed.
Thank you!