internal void DIcon_PreviewMouseDown(object sender, MouseButtonEventArgs e) { switch (mouseState) { case MouseState.None: if (e.ChangedButton == MouseButton.Left && sender is DIcon) { if (Environment.TickCount - previousClick < doubleClickTime) { //Console.WriteLine("TickCoubt {0} - {1} = {2} < {3} ", Environment.TickCount, previousClick, Environment.TickCount - previousClick, doubleClickTime); previousClick = (int)doubleClickTime; if (dIconLastClick == (sender as DIcon)) { (sender as DIcon).start(); dIconLastClick = null; } } else { mouseDownPos = e.GetPosition(gridMain); gridMain.CaptureMouse(); dIconTemp = sender as DIcon; mouseState = MouseState.Drag; Console.WriteLine(mouseState); previousClick = Environment.TickCount; dIconLastClick = sender as DIcon; } } break; } }
// Generates a list of all custom icons in the pop file // Default icons come from default classes and default base files // See this project's default icons database public List <string> CustomIcons() { var IconDict = new Dictionary <string, string>(); // Key: Normalized comparable string; Value: Original file value // Get icons from WaveSpawns foreach (Wave w in Pop.Population.Waves) { foreach (WaveSpawn ws in w.WaveSpawns) { // We don't care about dummy wavespawns if (ws.Spawner == null) { continue; } // Get all simple spawners List <dynamic> Spawners = ListSpawners(ws); // Add icons from each simple spawner to the dict foreach (dynamic s in Spawners) { if (s is TFBot && ((TFBot)s).ClassIcon != null) { string key = s.ClassIcon.ToLower(); if (!IconDict.ContainsKey(key)) { IconDict.Add(key, s.ClassIcon); } } } } } // Get icons from Missions // Fixed Issue #1: "Show Custom Icons" list does not display custom icons used in mission support foreach (Mission m in Pop.Population.Missions) { // We don't care about empty missions if (m.Spawner == null) { continue; } // Get all simple spawners List <dynamic> Spawners = ListSpawners(m); // Add icons from each simple spawner to the dict foreach (dynamic s in Spawners) { if (s is TFBot && ((TFBot)s).ClassIcon != null) { string key = s.ClassIcon.ToLower(); if (!IconDict.ContainsKey(key)) { IconDict.Add(key, s.ClassIcon); } } } } // Remove default icons string DefaultIconsPack = AppDomain.CurrentDomain.BaseDirectory + @"Database\DefaultIcons.txt"; List <string> DefaultIcons = new List <string>(System.IO.File.ReadAllLines(DefaultIconsPack)); foreach (string DIcon in DefaultIcons) { string key = DIcon.ToLower(); if (IconDict.ContainsKey(key)) { IconDict.Remove(key); } } return(IconDict.Values.ToList()); }