import SDKCommandBase from "./SDKCommandBase"; import * as ZMSDK from "../ZMSDK"; import * as SDKLogicsCore from "../SDKLogics/SDKLogicsCore"; import SDKPacket from "../SDKNetwork/SDKPacket"; import SDKApp from "../SDKBase/SDKApp"; import SDKPacketPool from "../SDKNetwork/SDKPacketPool"; /** * 老师返回最新的状态 */ export default class SDKSyncTeacherRepondCMD extends SDKCommandBase { public execute(data: any): void { super.execute(data); console.log("SDKSyncTeacherRepondCMD......", data); if (ZMSDK.isStudent()) { let packet : SDKPacket; SDKLogicsCore.controllState.controllerId = data.controllerId; packet = SDKApp.instance().transceiver.messageToPacket(data.mainFrame); if(!packet){ return; } console.log("学生刷新从老师那里拉取的信息......",packet); if (packet.name != 'gameChangeScene') { this.checkChangeScene(packet); if(data.controllerId != "" && data.controllerId != "-1"){ SDKApp.instance().packetHandler.dispatcherCMD(packet); } } else { let sceneName : string = packet.data; SDKApp.instance().packetHandler.dispatcherCMD(packet); this.initScene(sceneName); } } this.recylePacket(); } private checkChangeScene(packet: SDKPacket): void { let tempPacket: SDKPacket; console.log("SDKSyncTeacherRepondCMD同步场景。。。。。"); tempPacket = SDKPacketPool.Acquire(packet.name); packet.clone(tempPacket); tempPacket.name = 'gameChangeScene'; tempPacket.sendId = SDKLogicsCore.parameterVo.userId; tempPacket.data = packet.secene; SDKApp.instance().packetHandler.dispatcherCMD(tempPacket); } private initScene(sceneName : string): void { let tempPacket: SDKPacket; console.log("SDKSyncTeacherRepondCMD初始化场景。。。。。"); tempPacket = SDKPacketPool.Acquire('gameSceneReset'); tempPacket.sendId = SDKLogicsCore.parameterVo.userId; tempPacket.isMainFrame = false; tempPacket.data = sceneName; SDKApp.instance().packetHandler.dispatcherCMD(tempPacket); } }