private void btnMobSearch_Click(object sender, EventArgs e) { listSearchResult.Items.Clear(); string mobName = txtMobSearch.Text.ToLower(); List <SMobPointEx> points = new List <SMobPointEx>(); points.AddRange(SearchMob(mobName, 0, mobMap1)); points.AddRange(SearchMob(mobName, 1, mobMap2)); points.AddRange(SearchMob(mobName, 2, mobMap3)); points.AddRange(SearchMob(mobName, 3, mobMap4)); points.AddRange(SearchMob(mobName, 4, mobMap5)); points.AddRange(SearchMob(mobName, 5, mobMap6)); for (int i = 0; i < points.Count; i++) { SMobPointEx p = points[i]; ListViewItem item = new ListViewItem(new string[] { p.Name, p.Level, p.Element.ToName(true), p.Anzahl, p.Mapname }); item.Tag = points[i]; item.ToolTipText = string.Format("{0} ({1}) | {2} [{3}]", p.Name, p.Level, p.Element, p.Anzahl); if (p.MapControl != null) { item.ImageIndex = p.RuleLevelToIndex(p.MapControl.Factory); } else { item.ImageIndex = p.RuleLevelToIndex(p.MapControlSelector.Factory); } listSearchResult.Items.Add(item); } }
private void listSearchResult_DrawSubItem(object sender, DrawListViewSubItemEventArgs e) { // draw Element if (e.ColumnIndex != 2) { e.DrawDefault = true; return; } SMobPointEx p = e.Item.Tag as SMobPointEx; if (p.Element == EMobElement.Unbekannt) { e.DrawDefault = true; return; } if (listSearchResult.SelectedIndices.Contains(e.ItemIndex)) { e.Graphics.FillRectangle(Brushes.RoyalBlue, e.Bounds); } using (Image img = p.Element.ToImage()) { e.Graphics.DrawImage(img, new Rectangle(e.Bounds.X + (e.Bounds.Width / 2) - img.Width / 2, e.Bounds.Y + (e.Bounds.Height / 2) - img.Height / 2, img.Width, img.Height)); } }
private void listSearchResult_DoubleClick(object sender, EventArgs e) { if (listSearchResult.SelectedItems.Count == 0) { return; } SMobPointEx p = listSearchResult.SelectedItems[0].Tag as SMobPointEx; if (p.MapControl != null) { p.MapControl.SelectPoint(p as SMobPoint, true); } else { p.MapControlSelector.SelectPoint(p as SMobPoint, true); } tabMain.SelectedIndex = p.TabIndex; }
public List <SMobPointEx> SearchMob(string Mobname, int TabIndex, MapControlSelector Map) { List <SMobPointEx> list = new List <SMobPointEx>(); SMobPoint p; for (int i = 0; i < Map.MobPoints.Count; i++) { p = Map.MobPoints[i] as SMobPoint; if (p == null || p.Name.ToLower().Contains(Mobname) == false) { continue; } SMobPointEx newPoint = SMobPointEx.FromPoint(p); newPoint.MapControlSelector = Map; newPoint.Mapname = Map.Mapname; newPoint.TabIndex = TabIndex; list.Add(newPoint); } return(list); }