public string GetPacketMembers(BasePacket basePacket) { StringBuilder PacketMembers = new StringBuilder("("); switch (basePacket.packetType) { case PacketType.ConnectionStat: ConnectionPacket cp = basePacket as ConnectionPacket; PacketMembers.Append("IsConnecting: "); PacketMembers.Append(cp.IsConnecting); PacketMembers.Append(", IsBot: "); PacketMembers.Append(cp.IsBot); PacketMembers.Append(", HasError: "); PacketMembers.Append(cp.HasError); break; case PacketType.CamFrame: CamPacket cap = basePacket as CamPacket; PacketMembers.Append("CamFrame: "); PacketMembers.Append(cap.CamFrame); break; case PacketType.CamConfig: CamConfigPacket cacc = basePacket as CamConfigPacket; PacketMembers.Append("camaraConfigType: "); PacketMembers.Append(cacc.camaraConfigType.ToString()); PacketMembers.Append(", enable: "); PacketMembers.Append(cacc.enable); break; case PacketType.CamResolutionReq: CamResolutionReqPacket crqr = basePacket as CamResolutionReqPacket; PacketMembers.Append("Resolution: "); PacketMembers.Append(crqr.Resolution); break; case PacketType.CamResolution: CamResolutionPacket crr = basePacket as CamResolutionPacket; PacketMembers.Append("Resolution: "); PacketMembers.Append(crr.Resolution); break; case PacketType.CamReceived: CamPacketRecived cpr = basePacket as CamPacketRecived; break; case PacketType.CarStatus: CarStatusPacket csp = basePacket as CarStatusPacket; PacketMembers.Append("cardevice: "); PacketMembers.Append(csp.cardevice); PacketMembers.Append(", position: "); PacketMembers.Append(csp.position); PacketMembers.Append(", rotation: "); PacketMembers.Append(csp.rotation); break; case PacketType.CarStatusReceived: CarStatusRecivedPacket csrp = basePacket as CarStatusRecivedPacket; break; case PacketType.CarGPSSpotStatus: CarGPSSpotStatusPacket cgpsssp = basePacket as CarGPSSpotStatusPacket; PacketMembers.Append("GPSMover: "); PacketMembers.Append(cgpsssp.GPSMover); PacketMembers.Append(", GPSPosition: "); PacketMembers.Append(cgpsssp.GPSPosition); PacketMembers.Append(", GPSSpotManagerChangeType: "); PacketMembers.Append(cgpsssp.GPSSpotManagerChangeType); PacketMembers.Append(", Index: "); PacketMembers.Append(cgpsssp.Index); break; case PacketType.CarStatusChangeReq: CarStatusChangeReqPacket cscrp = basePacket as CarStatusChangeReqPacket; PacketMembers.Append("ReqCarDevice: "); PacketMembers.Append(cscrp.ReqCarDevice); break; case PacketType.CarGPSSpotStatusChangeReq: CarGPSSpotStatusChangeReqPacket cgpssscrp = basePacket as CarGPSSpotStatusChangeReqPacket; PacketMembers.Append("GPSMover: "); PacketMembers.Append(cgpssscrp.GPSMover); PacketMembers.Append(", GPSPosition: "); PacketMembers.Append(cgpssscrp.GPSPosition); PacketMembers.Append(", GPSSpotManagerChangeType: "); PacketMembers.Append(cgpssscrp.GPSSpotManagerChangeType); PacketMembers.Append(", Index: "); PacketMembers.Append(cgpssscrp.Index); break; case PacketType.UpdateDataReq: DataUpdatePacket dup = basePacket as DataUpdatePacket; PacketMembers.Append("modeType: "); PacketMembers.Append(dup.modeType); break; case PacketType.UpdateDataChanged: DataUpdatedPacket dudp = basePacket as DataUpdatedPacket; PacketMembers.Append("modeType: "); PacketMembers.Append(dudp.modeType); break; case PacketType.UpdateConsoleModeReq: ConsoleUpdatePacket cup = basePacket as ConsoleUpdatePacket; PacketMembers.Append("consoleMode: "); PacketMembers.Append(cup.consoleMode); PacketMembers.Append("TargetBot: "); PacketMembers.Append(cup.TargetBot); break; case PacketType.UpdateConsoleModeChanged: ConsoleUpdatedPacket cudp = basePacket as ConsoleUpdatedPacket; PacketMembers.Append("consoleMode: "); PacketMembers.Append(cudp.consoleMode); break; case PacketType.UniversalCommand: UniversalCommandPacket ucp = basePacket as UniversalCommandPacket; PacketMembers.Append("key: "); PacketMembers.Append(ucp.key); PacketMembers.Append("keyType: "); PacketMembers.Append(ucp.keyType); break; case PacketType.ClientsInfoReq: ClientinfoReqPacket cirp = basePacket as ClientinfoReqPacket; break; case PacketType.ClientsInfo: ClientinfoPacket cip = basePacket as ClientinfoPacket; PacketMembers.Append("ClientsInfo: "); PacketMembers.Append(cip.ClientsInfo); break; default: break; } PacketMembers.Append(')'); return(PacketMembers.ToString()); }
public override void ManualReceiveData(BasePacket basePacket) { switch (basePacket.packetType) { case PacketType.CamConfig: CamConfigPacket ccp = (CamConfigPacket)basePacket; switch (ccp.camaraConfigType) { case CamaraConfigType.ChangeCamara: if (Clients.ContainsKey(TargetBot)) { Clients[TargetBot].SendPacket(basePacket); } break; case CamaraConfigType.SendFrame: break; default: break; } break; case PacketType.CamReceived: ReceivedCamFrame = true; break; case PacketType.CamResolutionReq: if (Clients.ContainsKey(TargetBot) == true) { Clients[TargetBot].SendPacket(basePacket); } break; case PacketType.CarStatusReceived: ReceivedCarStatus = true; break; case PacketType.CarStatusChangeReq: CarStatusChangeReqPacket cscr = (CarStatusChangeReqPacket)basePacket; if (Clients.ContainsKey(TargetBot) == true) { ((HardwareClient)Clients[TargetBot]).SetCardevice(cscr.ReqCarDevice); } break; case PacketType.CarGPSSpotStatusChangeReq: if (Clients.ContainsKey(TargetBot) == true) { Clients[TargetBot].SendPacket(basePacket); } break; case PacketType.UpdateDataReq: if (Clients.ContainsKey(TargetBot) == true) { Clients[TargetBot].SendPacket(basePacket); } break; case PacketType.UpdateConsoleModeReq: ConsoleUpdatePacket cup = (ConsoleUpdatePacket)basePacket; switch (cup.consoleMode) { case ConsoleMode.ViewBotList: if (Clients.ContainsKey(TargetBot) == true) { ((HardwareClient)Clients[TargetBot]).RemoveViwer(this); SendPacket(new ConsoleUpdatedPacket(ConsoleMode.ViewBotList)); TargetBot = 0; } break; case ConsoleMode.ViewSingleBot: if (Clients.ContainsKey(cup.TargetBot)) { ReceivedCamFrame = true; ReceivedCarStatus = true; ((HardwareClient)Clients[cup.TargetBot]).AddViwer(this); TargetBot = cup.TargetBot; SendPacket(new ConsoleUpdatedPacket(ConsoleMode.ViewSingleBot)); SendPacket(new DataUpdatedPacket(((HardwareClient)Clients[cup.TargetBot]).modeType)); SendPacket(new CarGPSSpotStatusPacket(GPSSpotManagerChangeType.OverWrite, ((HardwareClient)Clients[cup.TargetBot]).spotManager)); SendPacket(new CamResolutionPacket(((HardwareClient)Clients[cup.TargetBot]).CamQuality)); } else { SendPacket(new ConsoleUpdatedPacket(ConsoleMode.ViewBotList)); } break; default: break; } break; case PacketType.UniversalCommand: break; case PacketType.ClientsInfoReq: List <ClientInfo> clientInfos = new List <ClientInfo>(); foreach (var item in Clients) { if (item.Value.IsBot == true) { clientInfos.Add(new ClientInfo(item.Value.Id, ((HardwareClient)(item.Value)).gPSPosition)); } } SendPacket(new ClientinfoPacket(clientInfos.ToArray())); break; default: break; } }
private void SocketObj_OnDataInvoke(BasePacket basePacket) { switch (basePacket.packetType) { case PacketType.CamReceived: if (SendCamTexture == true) { StartCoroutine(SendCamDataWithDelay()); } break; case PacketType.CamResolutionReq: CamResolutionReqPacket crrp = (CamResolutionReqPacket)basePacket; if (1 <= crrp.Resolution && crrp.Resolution <= 16) { CamQuality = crrp.Resolution; clientSender.SendPacket(new CamResolutionPacket(CamQuality)); } break; case PacketType.CamConfig: CamConfigPacket ccp = (CamConfigPacket)basePacket; switch (ccp.camaraConfigType) { case CamaraConfigType.ChangeCamara: camManager.SwitchCam(); break; case CamaraConfigType.SendFrame: if (ccp.enable) { SendCamTexture = true; StartCoroutine(SendCamDataWithDelay()); } else { SendCamTexture = false; } break; default: break; } break; case PacketType.CarStatusChangeReq: CarStatusChangeReqPacket cscrp = (CarStatusChangeReqPacket)basePacket; if (cscrp.ReqCarDevice.RF_LEDChanged) { baseCarDivice.rf_LED = cscrp.ReqCarDevice.RF_LED; } if (cscrp.ReqCarDevice.LF_LEDChanged) { baseCarDivice.lf_LED = cscrp.ReqCarDevice.LF_LED; } if (cscrp.ReqCarDevice.RB_LEDChanged) { baseCarDivice.rb_LED = cscrp.ReqCarDevice.RB_LED; } if (cscrp.ReqCarDevice.LB_LEDChanged) { baseCarDivice.lb_LED = cscrp.ReqCarDevice.LB_LED; } if (tracerObj.gPSMover.EnableTraceMode == false) { if (cscrp.ReqCarDevice.R_motorDIRChanged) { baseCarDivice.r_motorDIR = cscrp.ReqCarDevice.R_motorDIR; } if (cscrp.ReqCarDevice.L_motorDIRChanged) { baseCarDivice.l_motorDIR = cscrp.ReqCarDevice.L_motorDIR; } if (cscrp.ReqCarDevice.R_motorpowerChanged) { baseCarDivice.r_motorpower = cscrp.ReqCarDevice.R_motorpower; } if (cscrp.ReqCarDevice.L_motorpowerChanged) { baseCarDivice.l_motorpower = cscrp.ReqCarDevice.L_motorpower; } } break; case PacketType.CarStatusReceived: StartCoroutine(SendCarDataWithDelay()); break; case PacketType.CarGPSSpotStatusChangeReq: CarGPSSpotStatusChangeReqPacket cgscrp = (CarGPSSpotStatusChangeReqPacket)basePacket; switch (cgscrp.GPSSpotManagerChangeType) { case GPSSpotManagerChangeType.AddSpot: tracerObj.gPSMover.GPSSpotManager.AddPos(cgscrp.GPSPosition); clientSender.SendPacket(new CarGPSSpotStatusPacket(GPSSpotManagerChangeType.AddSpot, cgscrp.GPSPosition)); break; case GPSSpotManagerChangeType.RemoveSpot: tracerObj.gPSMover.GPSSpotManager.RemovePos(cgscrp.Index); clientSender.SendPacket(new CarGPSSpotStatusPacket(GPSSpotManagerChangeType.RemoveSpot, cgscrp.Index)); break; case GPSSpotManagerChangeType.SetCurrentPos: tracerObj.gPSMover.GPSSpotManager.CurrentMovePosIndex = cgscrp.Index; clientSender.SendPacket(new CarGPSSpotStatusPacket(GPSSpotManagerChangeType.SetCurrentPos, cgscrp.Index)); break; case GPSSpotManagerChangeType.OverWrite: tracerObj.gPSMover.ChangeSpotManager(cgscrp.GPSMover); clientSender.SendPacket(new CarGPSSpotStatusPacket(GPSSpotManagerChangeType.OverWrite, cgscrp.GPSMover)); break; default: break; } break; case PacketType.UpdateDataReq: DataUpdatePacket dup = (DataUpdatePacket)basePacket; switch (dup.modeType) { case ModeType.AutoDriveMode: tracerObj.gPSMover.EnableTraceMode = true; baseCarDivice.HalfManualMode = false; break; case ModeType.ManualDriveMode: tracerObj.gPSMover.EnableTraceMode = false; baseCarDivice.HalfManualMode = false; break; case ModeType.HaifManualDriveMode: tracerObj.gPSMover.EnableTraceMode = false; baseCarDivice.HalfManualMode = true; break; default: break; } clientSender.SendPacket(new DataUpdatedPacket(dup.modeType)); break; default: break; } }