public override void Unmarshal(DataInputStream dis) { base.Unmarshal(dis); if (dis != null) { try { this._damagedEntityID.Unmarshal(dis); this._padding1 = dis.ReadUnsignedShort(); this._padding2 = dis.ReadUnsignedShort(); this._numberOfDamageDescription = dis.ReadUnsignedShort(); for (int idx = 0; idx < this.NumberOfDamageDescription; idx++) { DirectedEnergyDamage anX = new DirectedEnergyDamage(); anX.Unmarshal(dis); this._damageDescriptionRecords.Add(anX); } ; } catch (Exception e) { #if DEBUG Trace.WriteLine(e); Trace.Flush(); #endif this.OnException(e); } } }