public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 2: { m_ExpireAction = (HouseRaffleExpireAction)reader.ReadEncodedInt(); goto case 1; } case 1: { m_Deed = reader.ReadItem <HouseRaffleDeed>(); goto case 0; } case 0: { m_Active = reader.ReadBool(); m_Bounds = reader.ReadRect2D(); m_Facet = reader.ReadMap(); m_Winner = reader.ReadMobile(); m_TicketPrice = reader.ReadInt(); m_Started = reader.ReadDateTime(); m_Duration = reader.ReadTimeSpan(); int entryCount = reader.ReadInt(); m_Entries = new List <RaffleEntry>(entryCount); for (int i = 0; i < entryCount; i++) { RaffleEntry entry = new RaffleEntry(reader, version); if (entry.From == null) { continue; // Character was deleted } m_Entries.Add(entry); } InvalidateRegion(); m_AllStones.Add(this); break; } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 1: { m_Deed = reader.ReadItem<HouseRaffleDeed>(); goto case 0; } case 0: { m_Active = reader.ReadBool(); m_Bounds = reader.ReadRect2D(); m_Facet = reader.ReadMap(); m_Winner = reader.ReadMobile(); m_TicketPrice = reader.ReadInt(); m_Started = reader.ReadDateTime(); m_Duration = reader.ReadTimeSpan(); int entryCount = reader.ReadInt(); m_Entries = new List<RaffleEntry>( entryCount ); for ( int i = 0; i < entryCount; i++ ) { RaffleEntry entry = new RaffleEntry( reader, version ); if ( entry.From == null ) continue; // Character was deleted m_Entries.Add( entry ); } InvalidateRegion(); m_AllStones.Add( this ); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch ( version ) { case 3: { this.m_State = (HouseRaffleState)reader.ReadEncodedInt(); goto case 2; } case 2: { this.m_ExpireAction = (HouseRaffleExpireAction)reader.ReadEncodedInt(); goto case 1; } case 1: { this.m_Deed = reader.ReadItem<HouseRaffleDeed>(); goto case 0; } case 0: { bool oldActive = (version < 3) ? reader.ReadBool() : false; this.m_Bounds = reader.ReadRect2D(); this.m_Facet = reader.ReadMap(); this.m_Winner = reader.ReadMobile(); this.m_TicketPrice = reader.ReadInt(); this.m_Started = reader.ReadDateTime(); this.m_Duration = reader.ReadTimeSpan(); int entryCount = reader.ReadInt(); this.m_Entries = new List<RaffleEntry>(entryCount); for (int i = 0; i < entryCount; i++) { RaffleEntry entry = new RaffleEntry(reader, version); if (entry.From == null) continue; // Character was deleted this.m_Entries.Add(entry); } this.InvalidateRegion(); m_AllStones.Add(this); if (version < 3) { if (oldActive) this.m_State = HouseRaffleState.Active; else if (this.m_Winner != null) this.m_State = HouseRaffleState.Completed; else this.m_State = HouseRaffleState.Inactive; } break; } } }