public void LoadBounties() { // clear the bounties foreach (MapLayer map in m_MapBounties.Values) { map.Children.Clear(); } foreach (GuildBounty bounty in GuildBountyDefinitions.BOUNTIES) { int mid = bounty.MapId; if (!m_MapLayers.ContainsKey(mid)) { m_MapLayers.Add(mid, new MapLayer()); } BountyMapLayer b = new BountyMapLayer(bounty.Name); if (!m_MapBounties.ContainsKey(mid)) { m_MapBounties.Add(mid, new MapLayer()); // map bounties default to hidden m_MapBounties[mid].Visibility = Visibility.Collapsed; // we insert instead of add so events always show up under other pushpins m_MapLayers[mid].Children.Insert(0, m_MapBounties[mid]); } if (bounty.Spawns != null) { foreach (List <double> p in bounty.Spawns) { b.AddSpawningPoint(ArenaNetMap.Unproject(new Point(p[0], p[1]), ArenaNetMap.MaxZoomLevel)); } } if (bounty.Paths != null) { int i = 0; foreach (GuildBountyPath path in bounty.Paths) { LocationCollection locs = new LocationCollection(); foreach (List <double> p in path.Points) { locs.Add(ArenaNetMap.Unproject(new Point(p[0], p[1]), ArenaNetMap.MaxZoomLevel)); } b.AddPath(locs, BOUNTY_PATH_BRUSHES[i], path.Direction); i = (i + 1) % BOUNTY_PATH_BRUSHES.Length; } } m_MapBounties[mid].Children.Add(b); } }
public void LoadBounties() { // clear the bounties foreach (MapLayer map in m_MapBounties.Values) map.Children.Clear(); foreach (GuildBounty bounty in GuildBountyDefinitions.BOUNTIES) { int mid = bounty.MapId; if (!m_MapLayers.ContainsKey(mid)) { m_MapLayers.Add(mid, new MapLayer()); } BountyMapLayer b = new BountyMapLayer(bounty.Name); if (!m_MapBounties.ContainsKey(mid)) { m_MapBounties.Add(mid, new MapLayer()); // map bounties default to hidden m_MapBounties[mid].Visibility = Visibility.Collapsed; // we insert instead of add so events always show up under other pushpins m_MapLayers[mid].Children.Insert(0, m_MapBounties[mid]); } if (bounty.Spawns != null) { foreach (List<double> p in bounty.Spawns) b.AddSpawningPoint(ArenaNetMap.Unproject(new Point(p[0], p[1]), ArenaNetMap.MaxZoomLevel)); } if (bounty.Paths != null) { int i = 0; foreach (GuildBountyPath path in bounty.Paths) { LocationCollection locs = new LocationCollection(); foreach (List<double> p in path.Points) locs.Add(ArenaNetMap.Unproject(new Point(p[0], p[1]), ArenaNetMap.MaxZoomLevel)); b.AddPath(locs, BOUNTY_PATH_BRUSHES[i], path.Direction); i = (i + 1) % BOUNTY_PATH_BRUSHES.Length; } } m_MapBounties[mid].Children.Add(b); } }