public AllianceInfo( GenericReader reader ) { int version = reader.ReadInt(); switch( version ) { case 0: { m_Name = reader.ReadString(); m_Leader = reader.ReadGuild() as Guild; m_Members = reader.ReadStrongGuildList<Guild>(); m_PendingMembers = reader.ReadStrongGuildList<Guild>(); break; } } }
public override void Deserialize( GenericReader reader ) { int version = reader.ReadInt(); switch ( version ) { case 5: { int count = reader.ReadInt(); m_PendingWars = new List<WarDeclaration>(); for( int i = 0; i < count; i++ ) { m_PendingWars.Add( new WarDeclaration( reader ) ); } count = reader.ReadInt(); m_AcceptedWars = new List<WarDeclaration>(); for( int i = 0; i < count; i++ ) { m_AcceptedWars.Add( new WarDeclaration( reader ) ); } bool isAllianceLeader = reader.ReadBool(); if( isAllianceLeader ) m_AllianceInfo = new AllianceInfo( reader ); else m_AllianceLeader = reader.ReadGuild() as Guild; goto case 4; } case 4: { m_AllyDeclarations = reader.ReadStrongGuildList<Guild>(); m_AllyInvitations = reader.ReadStrongGuildList<Guild>(); goto case 3; } case 3: { m_TypeLastChange = reader.ReadDateTime(); goto case 2; } case 2: { m_Type = (GuildType)reader.ReadInt(); goto case 1; } case 1: { m_LastFealty = reader.ReadDateTime(); goto case 0; } case 0: { m_Leader = reader.ReadMobile(); if( m_Leader is PlayerMobile ) ((PlayerMobile)m_Leader).GuildRank = RankDefinition.Leader; m_Name = reader.ReadString(); m_Abbreviation = reader.ReadString(); m_Allies = reader.ReadStrongGuildList<Guild>(); m_Enemies = reader.ReadStrongGuildList<Guild>(); m_WarDeclarations = reader.ReadStrongGuildList<Guild>(); m_WarInvitations = reader.ReadStrongGuildList<Guild>(); m_Members = reader.ReadStrongMobileList(); m_Candidates = reader.ReadStrongMobileList(); m_Accepted = reader.ReadStrongMobileList(); m_Guildstone = reader.ReadItem(); m_Teleporter = reader.ReadItem(); m_Charter = reader.ReadString(); m_Website = reader.ReadString(); break; } } if ( m_AllyDeclarations == null ) m_AllyDeclarations = new List<Guild>(); if ( m_AllyInvitations == null ) m_AllyInvitations = new List<Guild>(); if ( m_AcceptedWars == null ) m_AcceptedWars = new List<WarDeclaration>(); if ( m_PendingWars == null ) m_PendingWars = new List<WarDeclaration>(); /* if ( ( !NewGuildSystem && m_Guildstone == null )|| m_Members.Count == 0 ) Disband(); */ Timer.DelayCall( TimeSpan.Zero, new TimerCallback( VerifyGuild_Callback ) ); }