Пример #1
0
        public void Set_MemberInfo(ByteBuffer buff, bool update)
        {
            if (this.label_clan_level.InvokeRequired)
            {
                Set_MemberInfo_Callback d = new Set_MemberInfo_Callback(Set_MemberInfo);
                label_clan_level.Invoke(d, new object[] { buff, update });
                return;
            }

            string mem_name  = buff.ReadString(); //Util.Get_String(buff,ref offset);
            uint   mem_level = buff.ReadUInt32(); //System.BitConverter.ToInt32(buff,offset);offset+=4;
            uint   mem_class = buff.ReadUInt32(); //System.BitConverter.ToUInt32(buff,offset);offset+=4;

            buff.ReadUInt32();                    //sex
            buff.ReadUInt32();                    //race
            uint mem_online = buff.ReadUInt32();  //online

            if (Globals.gamedata.Chron <= Chronicle.CT2_6)
            {
                buff.ReadUInt32();//pledge type
            }
            if (Globals.gamedata.Chron >= Chronicle.CT3_0)
            {
                buff.ReadUInt32(); //Sponsor
            }

            if (mem_name == "")
            {
                return;
            }
            bool found = false;

            foreach (System.Windows.Forms.ListViewItem obj in Globals.l2net_home.listView_char_clan.Items)
            {
                if (System.String.Equals(obj.SubItems[0].Text, mem_name))
                {
                    obj.SubItems[1].Text = mem_level.ToString();
                    obj.SubItems[2].Text = Util.GetClass(mem_class);
                    if (mem_online != 0)
                    {
                        if (obj.SubItems[3].Text == "X")
                        {
                        }
                        else
                        {
                            Globals.ClanOnline++;
                            obj.SubItems[3].Text = "X";
                        }
                    }
                    else
                    {
                        if (obj.SubItems[3].Text == " ")
                        {
                        }
                        else
                        {
                            Globals.ClanOnline--;
                            obj.SubItems[3].Text = " ";
                        }
                    }

                    found = true;
                }
            }

            if (!found)
            {
                System.Windows.Forms.ListViewItem ObjListItem = Globals.l2net_home.listView_char_clan.Items.Add(mem_name);
                ObjListItem.SubItems.Add(mem_level.ToString());
                ObjListItem.SubItems.Add(Util.GetClass(mem_class));
                if (mem_online != 0)
                {
                    Globals.ClanOnline++;
                    ObjListItem.SubItems.Add("X");
                }
                else
                {
                    ObjListItem.SubItems.Add(" ");
                }

                if (update)
                {
                    Globals.ClanMembers++;
                }
            }

            if (update)
            {
                label_clan_online.Text = Globals.m_ResourceManager.GetString("col_Online") + ": " + Globals.ClanOnline.ToString() + "/" + Globals.ClanMembers.ToString();
            }
        }
Пример #2
0
        public void Set_MemberInfo(ByteBuffer buff, bool update)
        {
            if (this.label_clan_level.InvokeRequired)
            {
                Set_MemberInfo_Callback d = new Set_MemberInfo_Callback(Set_MemberInfo);
                label_clan_level.Invoke(d, new object[] { buff, update });
                return;
            }

            string mem_name = buff.ReadString();//Util.Get_String(buff,ref offset);
            uint mem_level = buff.ReadUInt32();//System.BitConverter.ToInt32(buff,offset);offset+=4;
            uint mem_class = buff.ReadUInt32();//System.BitConverter.ToUInt32(buff,offset);offset+=4;
            buff.ReadUInt32();//sex
            buff.ReadUInt32();//race
            uint mem_online = buff.ReadUInt32();//online
            if (Globals.gamedata.Chron <= Chronicle.CT2_6)
            {
                buff.ReadUInt32();//pledge type
            }
            if (Globals.gamedata.Chron >= Chronicle.CT3_0)
            {
                buff.ReadUInt32(); //Sponsor
            }

            if (mem_name == "") {
                return;
            }
            bool found = false;
            foreach (System.Windows.Forms.ListViewItem obj in Globals.l2net_home.listView_char_clan.Items)
            {
                if (System.String.Equals(obj.SubItems[0].Text, mem_name))
                {
                    obj.SubItems[1].Text = mem_level.ToString();
                    obj.SubItems[2].Text = Util.GetClass(mem_class);
                    if (mem_online != 0)
                    {
                        if (obj.SubItems[3].Text == "X")
                        {
                        }
                        else
                        {
                            Globals.ClanOnline++;
                            obj.SubItems[3].Text = "X";
                        }
                    }
                    else
                    {
                        if (obj.SubItems[3].Text == " ")
                        {
                        }
                        else
                        {
                            Globals.ClanOnline--;
                            obj.SubItems[3].Text = " ";
                        }
                    }
                    
                    found = true;
                }
            }

            if (!found)
            {
                System.Windows.Forms.ListViewItem ObjListItem = Globals.l2net_home.listView_char_clan.Items.Add(mem_name);
                ObjListItem.SubItems.Add(mem_level.ToString());
                ObjListItem.SubItems.Add(Util.GetClass(mem_class));
                if (mem_online != 0)
                {
                    Globals.ClanOnline++;
                    ObjListItem.SubItems.Add("X");
                }
                else
                {
                    ObjListItem.SubItems.Add(" ");
                }

                if (update)
                {
                    Globals.ClanMembers++;
                }
            }

            if (update)
            {
                label_clan_online.Text = Globals.m_ResourceManager.GetString("col_Online") + ": " + Globals.ClanOnline.ToString() + "/" + Globals.ClanMembers.ToString();
            }
        }