2023-08-28 13:44:19 +08:00

54 lines
1.1 KiB
TypeScript

import { INetRequest } from "./Core/INetRequest";
import { NetConnector } from "./NetConnector";
export class NetManager {
static get IsConnected() {
return this._connector && this._connector.IsConnected;
}
static get HasInit() {
return this._connector != null;
}
private static _connector: NetConnector;
static Initialize(connector: NetConnector) {
this._connector = connector;
}
static ConnectAsync() {
this.CheckConnector();
return this._connector.ConnectAsync();
}
/**
* 斷線
*/
static Disconnect() {
this.CheckConnector();
this._connector.Disconnect();
}
/**
* 傳送資料給Server, 不等待回應
* @param req
*/
static Send(req: INetRequest<any, any>) {
this.CheckConnector();
this._connector.Send(req);
}
/**
* 傳送資料給Server, 並等待回應
* @param req
*/
static SendAsync(req: INetRequest<any, any>, mask: boolean) {
this.CheckConnector();
return this._connector.SendAsync(req, mask);
}
private static CheckConnector() {
if (!this._connector) throw new Error("請先呼叫CasinoNetManager.Initialize()初始化connector");
}
}