Basic networking #9
2 changed files with 7 additions and 4 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue