public override void Unmarshal(DataInputStream dis) { base.Unmarshal(dis); if (dis != null) { try { this._munitionType.Unmarshal(dis); this._shotStartTime.Unmarshal(dis); this._commulativeShotTime = dis.ReadFloat(); this._ApertureEmitterLocation.Unmarshal(dis); this._apertureDiameter = dis.ReadFloat(); this._wavelength = dis.ReadFloat(); this._peakIrradiance = dis.ReadFloat(); this._pulseRepetitionFrequency = dis.ReadFloat(); this._pulseWidth = dis.ReadInt(); this._flags = dis.ReadInt(); this._pulseShape = dis.ReadByte(); this._padding1 = dis.ReadUnsignedByte(); this._padding2 = dis.ReadUnsignedInt(); this._padding3 = dis.ReadUnsignedShort(); this._numberOfDERecords = dis.ReadUnsignedShort(); for (int idx = 0; idx < this.NumberOfDERecords; idx++) { StandardVariableSpecification anX = new StandardVariableSpecification(); anX.Unmarshal(dis); this._dERecords.Add(anX); } ; } catch (Exception e) { #if DEBUG Trace.WriteLine(e); Trace.Flush(); #endif this.OnException(e); } } }