public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.PeekInt(); switch (version) { case 1000: reader.ReadInt(); m_EngravedText = reader.ReadString(); break; } }
public static int Version(GenericReader reader) { if (reader == null) { return(-1); } if (reader.PeekInt() == 0x7FFFFFFF) { reader.ReadInt(); // Preamble 0x7FFFFFFF return(reader.ReadInt()); } return(-1); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.PeekInt(); switch (version) { case 1000: reader.ReadInt(); this.m_Crafter = reader.ReadMobile(); this.m_Resource = (CraftResource)reader.ReadInt(); this.m_Quality = (ItemQuality)reader.ReadInt(); break; case 0: // Only these two items had this base class prior to the version change if (this is ElvenPodium || this is GiantReplicaAcorn) { reader.ReadInt(); this.m_Crafter = reader.ReadMobile(); this.m_Resource = (CraftResource)reader.ReadInt(); this.m_Quality = (ItemQuality)reader.ReadInt(); } // If we peeked a zero here any other way we should not consume data else { this.m_Crafter = null; this.m_Resource = CraftResource.None; this.m_Quality = ItemQuality.Normal; } break; default: throw new ArgumentException("Unhandled version number for CraftableFurniture"); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.PeekInt(); switch(version) { case 1000: reader.ReadInt(); m_EngravedText = reader.ReadString(); break; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.PeekInt(); switch (version) { case 1000: reader.ReadInt(); this.m_Crafter = reader.ReadMobile(); this.m_Resource = (CraftResource)reader.ReadInt(); this.m_Quality = (ItemQuality)reader.ReadInt(); break; case 0: // Only these two items had this base class prior to the version change if(this is ElvenPodium || this is GiantReplicaAcorn) { reader.ReadInt(); this.m_Crafter = reader.ReadMobile(); this.m_Resource = (CraftResource)reader.ReadInt(); this.m_Quality = (ItemQuality)reader.ReadInt(); } // If we peeked a zero here any other way we should not consume data else { this.m_Crafter = null; this.m_Resource = CraftResource.None; this.m_Quality = ItemQuality.Normal; } break; default: throw new ArgumentException("Unhandled version number for CraftableFurniture"); } }