SendGlobalMessage by sendAminMessage

This commit is contained in:
GRL 2021-07-20 15:16:51 +02:00
parent 0d3c697add
commit 6e65952d75
8 changed files with 101 additions and 28 deletions

View file

@ -9,7 +9,7 @@
export let game: Game;
let inputSendTextActive = true;
let uploadMusicActive = false;
let handleSendText: { sendTextMessage(): void };
let handleSendText: { sendTextMessage(broadcast: boolean): void };
let handleSendAudio: { sendAudioMessage(): Promise<void> };
let broadcastToWorld = false;
@ -35,8 +35,7 @@
function send() {
if (inputSendTextActive) {
handleSendText.sendTextMessage();
console.log(typeof handleSendText);
handleSendText.sendTextMessage(broadcastToWorld);
}
if (uploadMusicActive) {
handleSendAudio.sendAudioMessage();

View file

@ -3,7 +3,7 @@
import { onMount } from "svelte";
import type { Game } from "../../Phaser/Game/Game";
import type { GameManager } from "../../Phaser/Game/GameManager";
import type { PlayGlobalMessageInterface } from "../../Connexion/ConnexionModels";
import type { UserGlobalMessageInterface } from "../../Connexion/ConnexionModels";
import { AdminMessageEventTypes } from "../../Connexion/AdminMessagesService";
import type { Quill } from "quill";
@ -41,20 +41,20 @@
const MESSAGE_TYPE = AdminMessageEventTypes.admin;
export const handleSending = {
sendTextMessage() {
sendTextMessage(broadcastToWorld: boolean) {
if (gameScene == undefined) {
return;
}
const text = quill.getText(0, quill.getLength());
const GlobalMessage: PlayGlobalMessageInterface = {
id: "1", // FIXME: use another ID?
message: text,
type: MESSAGE_TYPE
const textGlobalMessage: UserGlobalMessageInterface = {
type: MESSAGE_TYPE,
content: text,
broadcastToWorld: broadcastToWorld
};
quill.deleteText(0, quill.getLength());
gameScene.connection?.emitGlobalMessage(GlobalMessage);
gameScene.connection?.sendUserGlobalMessage(textGlobalMessage);
disableConsole();
}
}

View file

@ -113,6 +113,12 @@ export interface PlayGlobalMessageInterface {
message: string;
}
export interface UserGlobalMessageInterface {
type: string;
content: string;
broadcastToWorld: boolean;
}
export interface OnConnectInterface {
connection: RoomConnection;
room: RoomJoinedMessageInterface;

View file

@ -7,6 +7,7 @@ import {
GroupUpdateMessage,
ItemEventMessage,
PlayGlobalMessage,
UserGlobalMessage,
PositionMessage,
RoomJoinedMessage,
ServerToClientMessage,
@ -44,6 +45,7 @@ import {
MessageUserJoined,
OnConnectInterface,
PlayGlobalMessageInterface,
UserGlobalMessageInterface,
PositionInterface,
RoomJoinedMessageInterface,
ViewportInterface,
@ -643,4 +645,16 @@ export class RoomConnection implements RoomConnection {
public getAllTags(): string[] {
return this.tags;
}
public sendUserGlobalMessage(message: UserGlobalMessageInterface): void {
const userGlobalMessage = new UserGlobalMessage();
userGlobalMessage.setType(message.type);
userGlobalMessage.setContent(message.content);
userGlobalMessage.setBroadcasttoworld(message.broadcastToWorld);
const clientToServerMessage = new ClientToServerMessage();
clientToServerMessage.setUserglobalmessage(userGlobalMessage);
this.socket.send(clientToServerMessage.serializeBinary().buffer);
}
}