limited event trigger to max 10 per second
This commit is contained in:
parent
8e136cebe8
commit
2c4c98b0e5
@ -15,6 +15,8 @@ import { UserInputChatEvent } from "./Events/UserInputChatEvent";
|
|||||||
import { GameStateEvent } from './Events/ApiGameStateEvent';
|
import { GameStateEvent } from './Events/ApiGameStateEvent';
|
||||||
import { deepFreezeClone as deepFreezeClone } from '../utility';
|
import { deepFreezeClone as deepFreezeClone } from '../utility';
|
||||||
import { HasMovedEvent } from './Events/HasMovedEvent';
|
import { HasMovedEvent } from './Events/HasMovedEvent';
|
||||||
|
import { Math } from 'phaser';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -63,6 +65,7 @@ class IframeListener {
|
|||||||
private readonly iframes = new Set<HTMLIFrameElement>();
|
private readonly iframes = new Set<HTMLIFrameElement>();
|
||||||
private readonly scripts = new Map<string, HTMLIFrameElement>();
|
private readonly scripts = new Map<string, HTMLIFrameElement>();
|
||||||
private sendMoveEvents: boolean = false;
|
private sendMoveEvents: boolean = false;
|
||||||
|
private lastMoveTimestamp: number = 0
|
||||||
|
|
||||||
init() {
|
init() {
|
||||||
window.addEventListener("message", (message: TypedMessageEvent<IframeEvent<keyof IframeEventMap>>) => {
|
window.addEventListener("message", (message: TypedMessageEvent<IframeEvent<keyof IframeEventMap>>) => {
|
||||||
@ -237,10 +240,14 @@ class IframeListener {
|
|||||||
|
|
||||||
hasMovedEvent(event: HasMovedEvent) {
|
hasMovedEvent(event: HasMovedEvent) {
|
||||||
if (this.sendMoveEvents) {
|
if (this.sendMoveEvents) {
|
||||||
this.postMessage({
|
if (this.lastMoveTimestamp < Date.now() - 100) {
|
||||||
'type': 'hasMovedEvent',
|
this.lastMoveTimestamp = Date.now()
|
||||||
'data': event
|
this.postMessage({
|
||||||
});
|
'type': 'hasMovedEvent',
|
||||||
|
'data': event
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user