Merge pull request #1103 from thecodingmachine/fixEmotePinch
FIX: on a touch screen, the menu emote will not open if more than one pointer is used
This commit is contained in:
commit
ba2d7958ce
@ -28,13 +28,13 @@ export class MobileJoystick extends VirtualJoystick {
|
|||||||
this.visible = false;
|
this.visible = false;
|
||||||
this.enable = false;
|
this.enable = false;
|
||||||
|
|
||||||
this.scene.input.on('pointerdown', (pointer: { x: number; y: number; wasTouch: boolean; event: TouchEvent }) => {
|
this.scene.input.on('pointerdown', (pointer: Phaser.Input.Pointer) => {
|
||||||
if (!pointer.wasTouch) {
|
if (!pointer.wasTouch) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Let's only display the joystick if there is one finger on the screen
|
// Let's only display the joystick if there is one finger on the screen
|
||||||
if (pointer.event.touches.length === 1) {
|
if ((pointer.event as TouchEvent).touches.length === 1) {
|
||||||
this.x = pointer.x;
|
this.x = pointer.x;
|
||||||
this.y = pointer.y;
|
this.y = pointer.y;
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
|
@ -228,11 +228,6 @@ export class GameScene extends DirtyScene implements CenterListener {
|
|||||||
this.load.image(joystickBaseKey, joystickBaseImg);
|
this.load.image(joystickBaseKey, joystickBaseImg);
|
||||||
this.load.image(joystickThumbKey, joystickThumbImg);
|
this.load.image(joystickThumbKey, joystickThumbImg);
|
||||||
}
|
}
|
||||||
//todo: in an emote manager.
|
|
||||||
this.load.spritesheet('emote-music', 'resources/emotes/pipo-popupemotes005.png', {
|
|
||||||
frameHeight: 32,
|
|
||||||
frameWidth: 32,
|
|
||||||
});
|
|
||||||
this.load.on(FILE_LOAD_ERROR, (file: {src: string}) => {
|
this.load.on(FILE_LOAD_ERROR, (file: {src: string}) => {
|
||||||
// If we happen to be in HTTP and we are trying to load a URL in HTTPS only... (this happens only in dev environments)
|
// If we happen to be in HTTP and we are trying to load a URL in HTTPS only... (this happens only in dev environments)
|
||||||
if (window.location.protocol === 'http:' && file.src === this.MapUrlFile && file.src.startsWith('http:') && this.originalMapUrl === undefined) {
|
if (window.location.protocol === 'http:' && file.src === this.MapUrlFile && file.src.startsWith('http:') && this.originalMapUrl === undefined) {
|
||||||
@ -1156,7 +1151,10 @@ ${escapedMessage}
|
|||||||
this.companion,
|
this.companion,
|
||||||
this.companion !== null ? lazyLoadCompanionResource(this.load, this.companion) : undefined
|
this.companion !== null ? lazyLoadCompanionResource(this.load, this.companion) : undefined
|
||||||
);
|
);
|
||||||
this.CurrentPlayer.on('pointerdown', () => {
|
this.CurrentPlayer.on('pointerdown', (pointer: Phaser.Input.Pointer) => {
|
||||||
|
if (pointer.wasTouch && (pointer.event as TouchEvent).touches.length > 1) {
|
||||||
|
return; //we don't want the menu to open when pinching on a touch screen.
|
||||||
|
}
|
||||||
this.emoteManager.getMenuImages().then((emoteMenuElements) => this.CurrentPlayer.openOrCloseEmoteMenu(emoteMenuElements))
|
this.emoteManager.getMenuImages().then((emoteMenuElements) => this.CurrentPlayer.openOrCloseEmoteMenu(emoteMenuElements))
|
||||||
})
|
})
|
||||||
this.CurrentPlayer.on(requestEmoteEventName, (emoteKey: string) => {
|
this.CurrentPlayer.on(requestEmoteEventName, (emoteKey: string) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user