public TabLocations() { InitializeComponent(); mapViewer.DrawObjects = new List <IMapDrawable>(); mapViewer.Map = Maps.Sosaria; mapViewer.DrawStatics = true; mapViewer.Center = new Point(150, 200); #if DEBUG // Предотвращаем падение конструктора if (!File.Exists(Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, @"Data\Locations.xml"))) { return; } #endif locationsTreeView.BeginUpdate(); locationsTreeView.Nodes.Clear(); m_Locations = new LocationTree(Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, @"Data\Locations.xml")); RebuildTree(null); locationsTreeView.EndUpdate(); if (locationsTreeView.Nodes != null && locationsTreeView.Nodes.Count > 0) { locationsTreeView.SelectedNode = locationsTreeView.Nodes[0]; } openFileDialog.InitialDirectory = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, @"Data"); saveFileDialog.InitialDirectory = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, @"Data"); }
public void DoLocationTree() { // Clear the tree TreeModel model = new TreeModel(); LocationTree.Model = model; LocationTree.BeginUpdate(); for (int build = 0; build < CurrentWSG.TotalLocations; build++) { string key = CurrentWSG.LocationStrings[build]; string name = LocationsXml.XmlReadAssociatedValue("OutpostDisplayName", "OutpostName", key); if (name == "") { name = key; } ColoredTextNode node = new ColoredTextNode(name); node.Tag = key; model.Nodes.Add(node); } //LocationTree.Update(); LocationTree.EndUpdate(); }
public TabLocations() { InitializeComponent(); mapViewer.DrawObjects = new List<IMapDrawable>(); mapViewer.Map = Maps.Sosaria; mapViewer.DrawStatics = true; mapViewer.Center = new Point(150, 200); #if DEBUG // Предотвращаем падение конструктора if (!File.Exists(Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, @"Data\Locations.xml"))) return; #endif locationsTreeView.BeginUpdate(); locationsTreeView.Nodes.Clear(); m_Locations = new LocationTree(Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, @"Data\Locations.xml")); RebuildTree(null); locationsTreeView.EndUpdate(); if (locationsTreeView.Nodes != null && locationsTreeView.Nodes.Count > 0) locationsTreeView.SelectedNode = locationsTreeView.Nodes[0]; openFileDialog.InitialDirectory = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, @"Data"); saveFileDialog.InitialDirectory = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, @"Data"); }
private void newToolStripMenuItem_Click(object sender, EventArgs e) { locationsTreeView.BeginUpdate(); locationsTreeView.Nodes.Clear(); m_Locations = new LocationTree(); RebuildTree(null); locationsTreeView.EndUpdate(); }
private static SR_Rune AddTree(LocationTree tree, Map map) { SR_Rune runeBook = new SR_Rune(map.ToString(), true); for (int i = 0; i < tree.Root.Children.Length; i++) { runeBook.AddRune(AddNode(tree.Root.Children[i], map)); } return(runeBook); }
private void openToolStripMenuItem_Click(object sender, EventArgs e) { if (openFileDialog.ShowDialog() == DialogResult.OK) { locationsTreeView.BeginUpdate(); locationsTreeView.Nodes.Clear(); m_Locations = new LocationTree(openFileDialog.FileName); RebuildTree(null); locationsTreeView.EndUpdate(); if (locationsTreeView.Nodes != null && locationsTreeView.Nodes.Count > 0) { locationsTreeView.SelectedNode = locationsTreeView.Nodes[0]; } } }
public List <LocationTree> GetLocationsWithinXMiles(double latitude, double longitude, double radius, byte locType) { using (FlyJetsDbContext dbContext = new FlyJetsDbContext(_config)) { double cLatitude, cLongitude; GetCenterCoordinates(out cLatitude, out cLongitude); var dummyAirport = new LocationTree { Lat = latitude, Lng = longitude }; var center = new { Lat = cLatitude, Lng = cLongitude }; var dummyLoc = new { dummyAirport.Lat, dummyAirport.Lng }; dummyAirport.Distance = Utilities.GetDistance(center.Lat, center.Lng, dummyLoc.Lat.Value, dummyLoc.Lng.Value); double minDistanceRange = dummyAirport.Distance.Value - radius; if (minDistanceRange < 0) { minDistanceRange = 0; } IQueryable <LocationTree> locationsSearchQuery = dbContext.LocationsTree; locationsSearchQuery = locationsSearchQuery.Where(m => m.Type == locType && m.Distance >= minDistanceRange && m.Distance <= dummyAirport.Distance + radius); List <LocationTree> locations = locationsSearchQuery .ToList(); FillDistancesFromLocation(latitude, longitude, locations); List <LocationTree> result = new List <LocationTree>(); int count = int.Parse(_config["NumberOfNearestLocations"]); return(locations.Where(loc => loc.Distance <= radius && loc.Distance != 0) .OrderBy(m => m.Distance) .Take(count) .ToList()); } }
private void AddNode(RhitLocation location) { if (location.Id < 0) { return; } if (TempDict.ContainsKey(location.Id)) { return; } LocationNode node = new LocationNode() { Name = location.Label, Id = location.Id, }; if (location.ParentId <= 0) { LocationTree.Add(node); TempDict[location.Id] = node; return; } if (TempDict.ContainsKey(location.ParentId)) { TempDict[location.ParentId].ChildLocations.Add(node); TempDict[location.Id] = node; return; } if (Locations.ContainsKey(location.ParentId)) { AddNode(Locations[location.ParentId]); TempDict[location.ParentId].ChildLocations.Add(node); TempDict[location.Id] = node; return; } LocationTree.Add(node); TempDict[location.Id] = node; }
private SendToGump(int page, Mobile from, LocationTree tree, ParentNode node) : base(50, 50) { from.CloseGump(typeof(SendToGump)); tree.LastBranch[from] = node; m_Page = page; m_Tree = tree; m_Node = node; int x = BorderSize + OffsetSize; int y = BorderSize + OffsetSize; int count = node.Children.Length - (page * EntryCount); if (count < 0) { count = 0; } else if (count > EntryCount) { count = EntryCount; } int totalHeight = OffsetSize + ((EntryHeight + OffsetSize) * (count + 1)); AddPage(0); AddBackground(0, 0, BackWidth, BorderSize + totalHeight + BorderSize, BackGumpID); AddImageTiled(BorderSize, BorderSize, TotalWidth - (OldStyle ? SetWidth + OffsetSize : 0), totalHeight, OffsetGumpID); if (OldStyle) { AddImageTiled(x, y, TotalWidth - (OffsetSize * 3) - SetWidth, EntryHeight, HeaderGumpID); } else { AddImageTiled(x, y, PrevWidth, EntryHeight, HeaderGumpID); } if (node.Parent != null) { AddButton(x + PrevOffsetX, y + PrevOffsetY, PrevButtonID1, PrevButtonID2, 1, GumpButtonType.Reply, 0); if (PrevLabel) { AddLabel(x + PrevLabelOffsetX, y + PrevLabelOffsetY, TextHue, "Previous"); } } x += PrevWidth + OffsetSize; int emptyWidth = TotalWidth - (PrevWidth * 2) - NextWidth - (OffsetSize * 5) - (OldStyle ? SetWidth + OffsetSize : 0); if (!OldStyle) { AddImageTiled(x - (OldStyle ? OffsetSize : 0), y, emptyWidth + (OldStyle ? OffsetSize * 2 : 0), EntryHeight, EntryGumpID); } AddHtml(x + TextOffsetX, y, emptyWidth - TextOffsetX, EntryHeight, String.Format("<center>{0}</center>", node.Name), false, false); x += emptyWidth + OffsetSize; if (OldStyle) { AddImageTiled(x, y, TotalWidth - (OffsetSize * 3) - SetWidth, EntryHeight, HeaderGumpID); } else { AddImageTiled(x, y, PrevWidth, EntryHeight, HeaderGumpID); } if (page > 0) { AddButton(x + PrevOffsetX, y + PrevOffsetY, PrevButtonID1, PrevButtonID2, 2, GumpButtonType.Reply, 0); if (PrevLabel) { AddLabel(x + PrevLabelOffsetX, y + PrevLabelOffsetY, TextHue, "Previous"); } } x += PrevWidth + OffsetSize; if (!OldStyle) { AddImageTiled(x, y, NextWidth, EntryHeight, HeaderGumpID); } if ((page + 1) * EntryCount < node.Children.Length) { AddButton(x + NextOffsetX, y + NextOffsetY, NextButtonID1, NextButtonID2, 3, GumpButtonType.Reply, 1); if (NextLabel) { AddLabel(x + NextLabelOffsetX, y + NextLabelOffsetY, TextHue, "Next"); } } for (int i = 0, index = page * EntryCount; i < EntryCount && index < node.Children.Length; ++i, ++index) { x = BorderSize + OffsetSize; y += EntryHeight + OffsetSize; object child = node.Children[index]; string name = ""; if (child is ParentNode) { name = ((ParentNode)child).Name; } else if (child is ChildNode) { name = ((ChildNode)child).Name; } AddImageTiled(x, y, EntryWidth, EntryHeight, EntryGumpID); AddLabelCropped(x + TextOffsetX, y, EntryWidth - TextOffsetX, EntryHeight, TextHue, name); x += EntryWidth + OffsetSize; if (SetGumpID != 0) { AddImageTiled(x, y, SetWidth, EntryHeight, SetGumpID); } AddButton(x + SetOffsetX, y + SetOffsetY, SetButtonID1, SetButtonID2, index + 4, GumpButtonType.Reply, 0); } }
private void openToolStripMenuItem_Click(object sender, EventArgs e) { if (openFileDialog.ShowDialog() == DialogResult.OK) { locationsTreeView.BeginUpdate(); locationsTreeView.Nodes.Clear(); m_Locations = new LocationTree(openFileDialog.FileName); RebuildTree(null); locationsTreeView.EndUpdate(); if (locationsTreeView.Nodes != null && locationsTreeView.Nodes.Count > 0) locationsTreeView.SelectedNode = locationsTreeView.Nodes[0]; } }