Ejemplo n.º 1
0
        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;
                }
            }
        }
Ejemplo n.º 2
0
        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 ) );
        }