@dill-pixel/plugin-colyseus
Version:
Colyseus
26 lines • 1.78 kB
TypeScript
import { Schema } from '@colyseus/schema';
import { Room } from 'colyseus.js';
import { IApplication, IPlugin, Plugin } from 'dill-pixel';
import * as Colyseus from 'colyseus.js';
export type SchemaConstructor<T = Schema> = new (...args: any[]) => T;
export type ColyseusPluginOptions = {
port: string;
};
export interface IColyseusPlugin extends IPlugin<ColyseusPluginOptions> {
readonly client: Colyseus.Client;
initialize(options?: Partial<ColyseusPluginOptions>, app?: IApplication): void;
joinOrCreate<T>(roomName: string, options?: Colyseus.JoinOptions, rootSchema?: SchemaConstructor<T>): Promise<Room<T>>;
create<T>(roomName: string, options?: Colyseus.JoinOptions, rootSchema?: SchemaConstructor<T>): Promise<Room<T>>;
join<T>(roomName: string, options?: Colyseus.JoinOptions, rootSchema?: SchemaConstructor<T>): Promise<Room<T>>;
joinById<T>(roomId: string, options?: Colyseus.JoinOptions, rootSchema?: SchemaConstructor<T>): Promise<Room<T>>;
}
export declare class ColyseusPlugin extends Plugin<ColyseusPluginOptions> implements IColyseusPlugin {
private _client;
get client(): Colyseus.Client;
initialize(options?: Partial<ColyseusPluginOptions>, app?: IApplication): Promise<void>;
joinOrCreate<T = any>(roomName: string, options?: Colyseus.JoinOptions, rootSchema?: SchemaConstructor<T>): Promise<Room<T>>;
join<T = any>(roomName: string, options?: Colyseus.JoinOptions, rootSchema?: SchemaConstructor<T>): Promise<Room<T>>;
joinById<T = any>(roomId: string, options?: Colyseus.JoinOptions, rootSchema?: SchemaConstructor<T>): Promise<Room<T>>;
create<T = any>(roomName: string, options?: Colyseus.JoinOptions, rootSchema?: SchemaConstructor<T>): Promise<Room<T>>;
}
//# sourceMappingURL=ColyseusPlugin.d.ts.map