import SDKPacket from "./SDKPacket"; import SDKCommandBase from "../SDKCommand/SDKCommandBase"; /** * SDKPacketHandler: * 消息包处理类,对上接SDKTransceiver,对下接游戏处理逻辑 * 改类目前是处理postMessage * 如果要处理TCP等 可以继承该类, 重写相应的方法即可 */ export default class SDKPacketHandler { protected _packets: Array; protected _messageHanlers: { [key: string]: any; }; constructor(); /** * 处理消息 */ private messageHandle; /** * 是否是被监视的包 */ private packetIsObserved; /** * 保存消息包.....每一个端都拥有所有玩家的所有数据 * @param packet 消息包 */ saveUserMessage(packet: SDKPacket): void; private isNeedSave; /** * 执行接收到的消息 * @param packet */ private dispatcherMessage; /** * 向老师端的子iframe派发消息 * @param packet */ private dispatcherSubIframe; /** * 接收到消息 * @param packet 消息包 */ recevieMsg(packet: SDKPacket): void; /** *控制者发送消息,立马执行派发,提高游戏体验 * @param packet 消息包 */ sendToReceive(packet: SDKPacket): void; /** * 外界调用。。。。发送CMD * @param packet */ dispatcherCMD(packet: SDKPacket): void; registerHandler(name: string, value: any): void; unRegisterHandler(name: string): void; /** * 获得CMD对象 * @param name CMD的名称 */ getHandler(name: string): SDKCommandBase; reset(): void; destroy(): void; }