Teleport notification
- Create end point to permit the teleport notification. The map url will be /teleport/token_user - Create message teleport - Create receive feature in phaser to teleport TODO Teleport player on black room.
This commit is contained in:
parent
3c2f134e4e
commit
65406f844e
8 changed files with 96 additions and 19 deletions
|
@ -24,6 +24,8 @@ export enum EventMessage{
|
|||
|
||||
PLAY_GLOBAL_MESSAGE = "play-global-message",
|
||||
STOP_GLOBAL_MESSAGE = "stop-global-message",
|
||||
|
||||
TELEPORT = "teleport",
|
||||
}
|
||||
|
||||
export interface PointInterface {
|
||||
|
|
|
@ -22,7 +22,8 @@ import {
|
|||
WebRtcSignalToClientMessage,
|
||||
WebRtcSignalToServerMessage,
|
||||
WebRtcStartMessage,
|
||||
ReportPlayerMessage
|
||||
ReportPlayerMessage,
|
||||
TeleportMessageMessage
|
||||
} from "../Messages/generated/messages_pb"
|
||||
|
||||
import {UserSimplePeerInterface} from "../WebRtc/SimplePeer";
|
||||
|
@ -129,6 +130,8 @@ export class RoomConnection implements RoomConnection {
|
|||
this.dispatch(EventMessage.PLAY_GLOBAL_MESSAGE, message.getPlayglobalmessage());
|
||||
} else if (message.hasStopglobalmessage()) {
|
||||
this.dispatch(EventMessage.STOP_GLOBAL_MESSAGE, message.getStopglobalmessage());
|
||||
} else if (message.hasTeleportmessagemessage()) {
|
||||
this.dispatch(EventMessage.TELEPORT, message.getTeleportmessagemessage());
|
||||
} else {
|
||||
throw new Error('Unknown message received');
|
||||
}
|
||||
|
@ -466,6 +469,12 @@ export class RoomConnection implements RoomConnection {
|
|||
});
|
||||
}
|
||||
|
||||
public receiveTeleportMessage(callback: (messageId: string) => void) {
|
||||
return this.onMessage(EventMessage.TELEPORT, (message: TeleportMessageMessage) => {
|
||||
callback(message.getMap());
|
||||
});
|
||||
}
|
||||
|
||||
public emitGlobalMessage(message: PlayGlobalMessageInterface){
|
||||
console.log('emitGlobalMessage', message);
|
||||
const playGlobalMessage = new PlayGlobalMessage();
|
||||
|
|
|
@ -269,6 +269,11 @@ export class GameScene extends ResizableScene implements CenterListener {
|
|||
item.fire(message.event, message.state, message.parameters);
|
||||
}));
|
||||
|
||||
connection.receiveTeleportMessage((map: string) => {
|
||||
//TODO
|
||||
console.log('receiveTeleportMessage', map);
|
||||
})
|
||||
|
||||
// When connection is performed, let's connect SimplePeer
|
||||
this.simplePeer = new SimplePeer(this.connection);
|
||||
this.GlobalMessageManager = new GlobalMessageManager(this.connection);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue