Set up local player send hook

This commit is contained in:
Hamcha 2019-09-04 18:01:56 +02:00
parent 005290d057
commit dd279573e6
Signed by: hamcha
GPG key ID: 44AD3571EB09A39E
2 changed files with 7 additions and 4 deletions

View file

@ -1,9 +1,8 @@
import NetworkPeer from "./peer";
import { DataConnection } from "peerjs";
import { PeerMetadata, NetworkMessage } from "./types";
export default class LocalClient {
public metadata: PeerMetadata;
public receiver!: (data: NetworkMessage) => void;
public constructor(metadata: PeerMetadata) {
this.metadata = metadata;
@ -13,7 +12,7 @@ export default class LocalClient {
//TODO
}
public send(data: NetworkMessage) {
//TODO
public send<T extends NetworkMessage>(data: T) {
this.receiver(data);
}
}

View file

@ -36,11 +36,15 @@ export default class PeerServer extends NetworkPeer {
public constructor(roomInfo: RoomInfo, local: LocalClient) {
super();
let players: Record<string, Player> = {};
// Add local player to server
players[local.metadata.name] = {
kind: "local",
name: local.metadata.name,
client: local
};
local.receiver = this._received.bind(this, players[local.metadata.name]);
this.room = {
info: roomInfo,
players