Merge remote-tracking branch 'remotes/upstream/develop' into trigger-message-refv3

This commit is contained in:
jonny 2021-07-02 18:49:22 +02:00
commit 369d453455
202 changed files with 15971 additions and 4927 deletions

View file

@ -1,11 +1,11 @@
import type { MenuItemClickedEvent } from '../../Events/ui/MenuItemClickedEvent';
import { iframeListener } from '../../IframeListener';
import type { MenuItemClickedEvent } from "../../Events/ui/MenuItemClickedEvent";
import { iframeListener } from "../../IframeListener";
export function sendMenuClickedEvent(menuItem: string) {
iframeListener.postMessage({
'type': 'menuItemClicked',
'data': {
type: "menuItemClicked",
data: {
menuItem: menuItem,
} as MenuItemClickedEvent
} as MenuItemClickedEvent,
});
}
}

View file

@ -1,22 +1,25 @@
import { removeTriggerMessage, triggerMessage, TriggerMessageEvent } from '../../Events/ui/TriggerMessageEvent';
import { sendToWorkadventure } from '../IframeApiContribution';
import {
MessageReferenceEvent,
removeTriggerMessage,
triggerMessage,
TriggerMessageEvent,
} from "../../Events/ui/TriggerMessageEvent";
import { queryWorkadventure } from "../IframeApiContribution";
function uuidv4() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
const r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
const r = (Math.random() * 16) | 0,
v = c === "x" ? r : (r & 0x3) | 0x8;
return v.toString(16);
});
}
export let triggerMessageInstance: TriggerMessage | undefined = undefined
export let triggerMessageInstance: TriggerMessage | undefined = undefined;
export class TriggerMessage {
uuid: string
uuid: string;
constructor(private message: string, private callback: () => void) {
this.uuid = uuidv4()
this.uuid = uuidv4();
if (triggerMessageInstance) {
triggerMessageInstance.remove();
}
@ -24,28 +27,24 @@ export class TriggerMessage {
this.create();
}
create(): this {
sendToWorkadventure({
async create() {
await queryWorkadventure({
type: triggerMessage,
data: {
message: this.message,
uuid: this.uuid
} as TriggerMessageEvent
})
return this
}
remove() {
sendToWorkadventure({
type: removeTriggerMessage,
data: {
uuid: this.uuid
} as TriggerMessageEvent
})
triggerMessageInstance = undefined
}
trigger() {
uuid: this.uuid,
} as TriggerMessageEvent,
});
this.callback();
}
}
async remove() {
await queryWorkadventure({
type: removeTriggerMessage,
data: {
uuid: this.uuid,
} as MessageReferenceEvent,
});
triggerMessageInstance = undefined;
}
}