public override void Unmarshal(DataInputStream dis) { base.Unmarshal(dis); if (dis != null) { try { this._radioEntityType.Unmarshal(dis); this._transmitState = dis.ReadUnsignedByte(); this._inputSource = dis.ReadUnsignedByte(); this._padding1 = dis.ReadUnsignedShort(); this._antennaLocation.Unmarshal(dis); this._relativeAntennaLocation.Unmarshal(dis); this._antennaPatternType = dis.ReadUnsignedShort(); this._antennaPatternCount = dis.ReadUnsignedShort(); this._frequency = dis.ReadUnsignedLong(); this._transmitFrequencyBandwidth = dis.ReadFloat(); this._power = dis.ReadFloat(); this._modulationType.Unmarshal(dis); this._cryptoSystem = dis.ReadUnsignedShort(); this._cryptoKeyId = dis.ReadUnsignedShort(); this._modulationParameterCount = dis.ReadUnsignedByte(); this._padding2 = dis.ReadUnsignedShort(); this._padding3 = dis.ReadUnsignedByte(); for (int idx = 0; idx < this.ModulationParameterCount; idx++) { Vector3Float anX = new Vector3Float(); anX.Unmarshal(dis); this._modulationParametersList.Add(anX); } for (int idx = 0; idx < this.AntennaPatternCount; idx++) { Vector3Float anX = new Vector3Float(); anX.Unmarshal(dis); this._antennaPatternList.Add(anX); } } catch (Exception e) { if (PduBase.TraceExceptions) { Trace.WriteLine(e); Trace.Flush(); } this.RaiseExceptionOccured(e); if (PduBase.ThrowExceptions) { throw e; } } } }
public override void Unmarshal(DataInputStream dis) { base.Unmarshal(dis); if (dis != null) { try { this._minefieldID.Unmarshal(dis); this._requestingEntityID.Unmarshal(dis); this._minefieldSequenceNumbeer = dis.ReadUnsignedShort(); this._requestID = dis.ReadUnsignedByte(); this._pduSequenceNumber = dis.ReadUnsignedByte(); this._numberOfPdus = dis.ReadUnsignedByte(); this._numberOfMinesInThisPdu = dis.ReadUnsignedByte(); this._numberOfSensorTypes = dis.ReadUnsignedByte(); this._pad2 = dis.ReadUnsignedByte(); this._dataFilter = dis.ReadUnsignedInt(); this._mineType.Unmarshal(dis); for (int idx = 0; idx < this.NumberOfSensorTypes; idx++) { TwoByteChunk anX = new TwoByteChunk(); anX.Unmarshal(dis); this._sensorTypes.Add(anX); } this._pad3 = dis.ReadUnsignedByte(); for (int idx = 0; idx < this.NumberOfMinesInThisPdu; idx++) { Vector3Float anX = new Vector3Float(); anX.Unmarshal(dis); this._mineLocation.Add(anX); } } catch (Exception e) { if (PduBase.TraceExceptions) { Trace.WriteLine(e); Trace.Flush(); } this.RaiseExceptionOccured(e); if (PduBase.ThrowExceptions) { throw e; } } } }