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"; import { PeerMetadata, NetworkMessage } from "./types";
export default class LocalClient { export default class LocalClient {
public metadata: PeerMetadata; public metadata: PeerMetadata;
public receiver!: (data: NetworkMessage) => void;
public constructor(metadata: PeerMetadata) { public constructor(metadata: PeerMetadata) {
this.metadata = metadata; this.metadata = metadata;
@ -13,7 +12,7 @@ export default class LocalClient {
//TODO //TODO
} }
public send(data: NetworkMessage) { public send<T extends NetworkMessage>(data: T) {
//TODO this.receiver(data);
} }
} }

View file

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