Fixing bug where only one chat listener can be added.
This commit is contained in:
parent
620bd1ab2c
commit
6101548d89
1 changed files with 5 additions and 3 deletions
|
@ -2,13 +2,15 @@ import type { ChatEvent } from '../Events/ChatEvent'
|
||||||
import { isUserInputChatEvent, UserInputChatEvent } from '../Events/UserInputChatEvent'
|
import { isUserInputChatEvent, UserInputChatEvent } from '../Events/UserInputChatEvent'
|
||||||
import { IframeApiContribution, sendToWorkadventure } from './IframeApiContribution'
|
import { IframeApiContribution, sendToWorkadventure } from './IframeApiContribution'
|
||||||
import { apiCallback } from "./registeredCallbacks";
|
import { apiCallback } from "./registeredCallbacks";
|
||||||
|
import {Subject} from "rxjs";
|
||||||
|
|
||||||
|
const chatStream = new Subject<string>();
|
||||||
|
|
||||||
class WorkadventureChatCommands extends IframeApiContribution<WorkadventureChatCommands> {
|
class WorkadventureChatCommands extends IframeApiContribution<WorkadventureChatCommands> {
|
||||||
chatMessageCallback?: (event: string) => void
|
|
||||||
|
|
||||||
callbacks = [apiCallback({
|
callbacks = [apiCallback({
|
||||||
callback: (event: UserInputChatEvent) => {
|
callback: (event: UserInputChatEvent) => {
|
||||||
this.chatMessageCallback?.(event.message)
|
chatStream.next(event.message);
|
||||||
},
|
},
|
||||||
type: "userInputChat",
|
type: "userInputChat",
|
||||||
typeChecker: isUserInputChatEvent
|
typeChecker: isUserInputChatEvent
|
||||||
|
@ -29,7 +31,7 @@ class WorkadventureChatCommands extends IframeApiContribution<WorkadventureChatC
|
||||||
* Listen to messages sent by the local user, in the chat.
|
* Listen to messages sent by the local user, in the chat.
|
||||||
*/
|
*/
|
||||||
onChatMessage(callback: (message: string) => void) {
|
onChatMessage(callback: (message: string) => void) {
|
||||||
this.chatMessageCallback = callback
|
chatStream.subscribe(callback);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue