32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import {PointInterface} from "./PointInterface";
|
|
import {Identificable} from "./Identificable";
|
|
import {ViewportInterface} from "_Model/Websocket/ViewportMessage";
|
|
import {BatchMessage, SubMessage} from "../../Messages/generated/messages_pb";
|
|
import {WebSocket} from "uWebSockets.js"
|
|
import {CharacterTexture} from "../../Services/AdminApi";
|
|
|
|
export interface CharacterLayer {
|
|
name: string,
|
|
url: string|undefined
|
|
}
|
|
|
|
export interface ExSocketInterface extends WebSocket, Identificable {
|
|
token: string;
|
|
roomId: string;
|
|
//userId: number; // A temporary (autoincremented) identifier for this user
|
|
userUuid: string; // A unique identifier for this user
|
|
name: string;
|
|
characterLayers: CharacterLayer[];
|
|
position: PointInterface;
|
|
viewport: ViewportInterface;
|
|
/**
|
|
* Pushes an event that will be sent in the next batch of events
|
|
*/
|
|
emitInBatch: (payload: SubMessage) => void;
|
|
batchedMessages: BatchMessage;
|
|
batchTimeout: NodeJS.Timeout|null;
|
|
disconnecting: boolean,
|
|
tags: string[],
|
|
textures: CharacterTexture[],
|
|
}
|