コード例 #1
0
ファイル: Guild.cs プロジェクト: cynricthehun/UOLegends
        public override void Deserialize( GenericReader reader )
        {
            int version = reader.ReadInt();

            switch ( version )
            {
                case 4:
                {
                    m_AllyDeclarations = reader.ReadGuildList();
                    m_AllyInvitations = reader.ReadGuildList();

                    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();
                    m_Name = reader.ReadString();
                    m_Abbreviation = reader.ReadString();

                    m_Allies = reader.ReadGuildList();
                    m_Enemies = reader.ReadGuildList();
                    m_WarDeclarations = reader.ReadGuildList();
                    m_WarInvitations = reader.ReadGuildList();

                    m_Members = reader.ReadMobileList();
                    m_Candidates = reader.ReadMobileList();
                    m_Accepted = reader.ReadMobileList();

                    m_Guildstone = reader.ReadItem();
                    m_Teleporter = reader.ReadItem();

                    m_Charter = reader.ReadString();
                    m_Website = reader.ReadString();

                    break;
                }
            }

            if ( m_AllyDeclarations == null )
                m_AllyDeclarations = new ArrayList();

            if ( m_AllyInvitations == null )
                m_AllyInvitations = new ArrayList();

            if ( m_Guildstone == null || m_Members.Count == 0 )
                Disband();
        }