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

            if ( version < 5 )
            {
                FixGuilds();
            }

            switch ( version )
            {
                case 5:
                    {
                        m_WarInitializations = reader.ReadGuildList();
                        m_WarKills = new WarKillsItem[reader.ReadInt()];
                        for ( int i = 0; i < m_WarKills.Length; ++i )
                        {
                            m_WarKills[i].w_Guild = reader.ReadGuild() as Guild;
                            m_WarKills[i].Kills = reader.ReadInt();
                            m_WarKills[i].MaxKills = reader.ReadInt();
                            m_WarKills[i].WarTime = (uint) reader.ReadInt();
                            m_WarKills[i].ExpTime = (uint) reader.ReadInt();
                        }
                        m_AllianceLeader = reader.ReadBool();
                        m_AllianceName = reader.ReadString();
                        goto case 4;
                    }
                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_WarInitializations == null )
            {
                m_WarInitializations = new ArrayList();
            }

            if ( WarTimer1 == null )
            {
                WarTimer1 = new WarTimer();
                WarTimer1.Start();
            }

            if ( m_Guildstone == null || m_Members.Count == 0 )
            {
                Timer.DelayCall( TimeSpan.Zero, new TimerCallback( Disband ) );
            }
        }
コード例 #2
0
ファイル: Guild.cs プロジェクト: Ravenwolfe/xrunuo
        public void FixGuilds()
        {
            m_AllianceName = "";
            m_AllianceLeader = false;
            m_WarInitializations = new ArrayList();
            ArrayList list = new ArrayList();
            m_WarKills = (WarKillsItem[]) list.ToArray( typeof( WarKillsItem ) );

            if ( WarTimer1 == null )
            {
                WarTimer1 = new WarTimer();
                WarTimer1.Start();
            }
        }
コード例 #3
0
ファイル: Guild.cs プロジェクト: Ravenwolfe/xrunuo
        public Guild( Mobile leader, string name, string abbreviation )
            : base()
        {
            m_Leader = leader;

            m_Members = new ArrayList();
            m_Allies = new ArrayList();
            m_Enemies = new ArrayList();
            m_WarDeclarations = new ArrayList();
            m_WarInvitations = new ArrayList();

            m_AllyDeclarations = new ArrayList();
            m_AllyInvitations = new ArrayList();
            m_Candidates = new ArrayList();
            m_Accepted = new ArrayList();

            m_LastFealty = DateTime.Now;

            m_Name = name;
            m_Abbreviation = abbreviation;

            m_AllianceName = "";
            m_AllianceLeader = false;
            m_WarInitializations = new ArrayList();
            ArrayList list = new ArrayList();
            m_WarKills = (WarKillsItem[]) list.ToArray( typeof( WarKillsItem ) );

            m_TypeLastChange = DateTime.MinValue;

            AddMember( m_Leader );

            if ( WarTimer1 == null )
            {
                WarTimer1 = new WarTimer();
                WarTimer1.Start();
            }
        }