private void listView_skills_SelectedIndexChanged(object sender, EventArgs e) { string text = ""; if (listView_skills.SelectedIndices.Count > 0) { uint id = Util.GetUInt32(listView_skills.Items[listView_skills.SelectedIndices[0]].SubItems[2].Text); UserSkill us = null; if (Globals.SkillListLock.TryEnterReadLock(Globals.THREAD_WAIT_GUI)) { try { us = Util.GetSkill(id); } finally { Globals.SkillListLock.ExitReadLock(); } } if (us != null) { text = Util.GetSkillName(us.ID, us.Level) + Environment.NewLine + "Level: " + us.Level.ToString() + Environment.NewLine + (us.Passive == 0x01 ? "Passive" : "Active") + Environment.NewLine + Util.GetSkillDesc(us.ID, us.Level, 1) + Environment.NewLine + Util.GetSkillDesc(us.ID, us.Level, 2) + Environment.NewLine + Util.GetSkillDesc(us.ID, us.Level, 3) + Environment.NewLine + "Type ID: " + us.ID; } } toolTip1.SetToolTip(listView_skills, text); }
private void UpdateMyBuffsListInternal() { System.Collections.ArrayList dirty_items = new System.Collections.ArrayList(); for (int i = 0; i < listView_mybuffs_data.Items.Count; i++) { uint id = Util.GetUInt32(((ListViewItem)listView_mybuffs_data_items[i]).SubItems[3].Text); if (Globals.gamedata.mybuffs.ContainsKey(id)) { CharBuff cb = Util.GetBuff(id); cb.InList = true; if (cb.ExpiresTime == -1) { ((ListViewItem)listView_mybuffs_data_items[i]).SubItems[2].Text = "ON"; } else { System.TimeSpan remain = new System.TimeSpan(cb.ExpiresTime - System.DateTime.Now.Ticks); //update it //((ListViewItem)listView_npc_data_items[i]).SubItems[0].Text = Util.GetNPCName(npc.NPCID); //((ListViewItem)listView_npc_data_items[i]).SubItems[1].Text = npc.Title; ((ListViewItem)listView_mybuffs_data_items[i]).SubItems[2].Text = ((int)remain.TotalMinutes).ToString() + ":" + remain.Seconds.ToString(); //((ListViewItem)listView_mybuffs_data_items[i]).SubItems[2].Text = cb.ID.ToString(); } } else { dirty_items.Add(i); } } //need to remove all dirty items now for (int i = dirty_items.Count - 1; i >= 0; i--) { listView_mybuffs_data_items.RemoveAt((int)dirty_items[i]); } dirty_items.Clear(); foreach (CharBuff cb in Globals.gamedata.mybuffs.Values) { if (!cb.InList) { cb.InList = true; System.TimeSpan remain = new System.TimeSpan(0); if (cb.ExpiresTime == -1) { } else { remain = new System.TimeSpan(cb.ExpiresTime - System.DateTime.Now.Ticks); } //add it System.Windows.Forms.ListViewItem ObjListItem; ObjListItem = new ListViewItem(Util.GetSkillName(cb.ID, cb.SkillLevel)); //Name ObjListItem.SubItems.Add(cb.SkillLevel.ToString()); //Title if (cb.ExpiresTime == -1) { ObjListItem.SubItems.Add("ON"); } else { ObjListItem.SubItems.Add(((int)remain.TotalMinutes).ToString() + ":" + remain.Seconds.ToString()); //Remaining Time } ObjListItem.SubItems.Add(cb.ID.ToString()); //ObjID ObjListItem.ImageIndex = AddInfo.Get_Skill_Image_Index(cb.ID); listView_mybuffs_data_items.Add(ObjListItem); } } }
public static void Set_SkillList(int active) { Globals.l2net_home.listView_skills.BeginUpdate(); Globals.l2net_home.listView_skills.ListViewItemSorter = null; //lets clear our skill list and skill image list Globals.l2net_home.listView_skills.Items.Clear(); //Globals.l2net_home.imageList_skills.Images.Clear(); Globals.SkillListLock.EnterReadLock(); try { foreach (UserSkill us in Globals.gamedata.skills.Values) { if (active == 1 && us.Passive == 0) //Add active skills to list { System.Windows.Forms.ListViewItem ObjListItem = Globals.l2net_home.listView_skills.Items.Add(Util.GetSkillName(us.ID, us.Level)); ObjListItem.SubItems.Add(us.Level.ToString()); //ObjListItem.SubItems.Add("Active"); //ObjListItem.SubItems.Add(""); ObjListItem.SubItems.Add(us.ID.ToString()); try { ObjListItem.ImageIndex = Get_Skill_Image_Index(us.ID); } catch { ObjListItem.ImageIndex = -1; } } if (active == 0 && us.Passive == 1) //Add Passive skills to list { System.Windows.Forms.ListViewItem ObjListItem = Globals.l2net_home.listView_skills.Items.Add(Util.GetSkillName(us.ID, us.Level)); ObjListItem.SubItems.Add(us.Level.ToString()); //ObjListItem.SubItems.Add("Passive"); //ObjListItem.SubItems.Add(""); ObjListItem.SubItems.Add(us.ID.ToString()); try { ObjListItem.ImageIndex = Get_Skill_Image_Index(us.ID); } catch { ObjListItem.ImageIndex = -1; } } } } finally { Globals.SkillListLock.ExitReadLock(); } Globals.l2net_home.listView_skills.ListViewItemSorter = Globals.l2net_home.lvwColumnSorter_skills; Globals.l2net_home.listView_skills.EndUpdate(); }