public void Open(Route route) { _route = route; ctrlRouteDetails.PopulateControls(route); Waypoints wp = null; try { // Fill waypoints wp = RouteListManager.LoadWaypoints(route.WaypointFileName); } catch (Exception e) { ShowErrorMessage(e); Dispose(); return; } // Fill data table foreach (Vector3D v in wp.List) { dgWaypoints.Rows.Add(v.X, v.Y, v.Z); } // Select last int last = dgWaypoints.Rows.Count - 1; dgWaypoints.FirstDisplayedScrollingRowIndex = last; // Assign event on shown Shown += SelectLastRecord; ShowDialog(); }
private void btnSave_Click(object sender, EventArgs e) { // Make route AbstractListEndpoint point_a = ctrlRouteDetails. cbTypeA.SelectedItem as AbstractListEndpoint; AbstractListEndpoint point_b = ctrlRouteDetails. cbTypeB.SelectedItem as AbstractListEndpoint; if (_route == null) { // Make new route _route = ctrlRouteDetails.GetRoute(MakeVector(dgWaypoints.Rows[0]), MakeVector(dgWaypoints.Rows[dgWaypoints.Rows.Count - 2])); if (_route == null) { return; } } else { // Update existing _route.PointA = point_a.GetEndpoint(ctrlRouteDetails.tbZoneA.Text, MakeVector(dgWaypoints.Rows[0])); _route.PointB = point_b.GetEndpoint(ctrlRouteDetails.tbZoneB.Text, MakeVector(dgWaypoints.Rows[dgWaypoints.Rows.Count - 2])); _route.Description = ctrlRouteDetails.tbDescr.Text; _route.Reversible = ctrlRouteDetails.cbReversible.Checked; } // Add waypoints except last empty line Waypoints waypoints = GetWaypointsList(_route.FileName); // Save route if (RouteListManager.SaveRoute(_route, waypoints, _lfs)) { string s = "Route successfully saved"; if (_route.FileName == null) { s += ". No export file generated."; } else { s += ".\nExport data located in the file '" + _route.FileName + "'"; } ctrlRouteDetails.lblWaypointFile.Text = "Waypoint : " + _route.WaypointFileName; ShowSuccessMessage(s); IsChanged = false; } }
private void exportRouteToolStripMenuItem_Click(object sender, EventArgs e) { Route r = GetSelectedRoute(); // Load waypoints Waypoints wp = RouteListManager.LoadWaypoints(r.WaypointFileName); if (RouteListManager.ExportRoute(r, wp)) { ShowSuccessMsg(r, "exported", true); } }
private Waypoints GetWaypoints(Route r) { Waypoints wp = RouteListManager.LoadWaypoints(r.WaypointFileName); if (wp != null) { if (r.NeedReverse) { wp.List.Reverse(); } UsedRoutes.Add(r); } return(wp); }
private void btnSave_Click(object sender, EventArgs e) { Route route = GetRoute(); // Save route if (RouteListManager.SaveRoute(route, _lfs)) { IsChanged = false; // Replace saved node SetTreeNode(route, tvRoutes.SelectedNode); tvRoutes.Sort(); ShowSuccessMsg(route, "saved", false); } }
private void DeleteRoute() { // Confirm if (!GetConfirmation("Are you sure delete selected route ???")) { return; } // Delete from the list Route r = GetSelectedRoute(); RouteListManager.DeleteRoute(r, _lfs); // Delete from the Tree View tvRoutes.Nodes.Remove(tvRoutes.SelectedNode); }
private void btnImportRoute_Click(object sender, EventArgs e) { var dlg = new OpenFileDialog { RestoreDirectory = true, Multiselect = true, Filter = "Routes (*.route)|*.route" }; dlg.InitialDirectory = "Data" + Path.DirectorySeparatorChar + "Import"; if (dlg.ShowDialog() != DialogResult.OK) { return; } foreach (string fname in dlg.FileNames) { string err = "Failed import data from " + fname + ". Check format and try again"; try { Route r = RouteListManager.ImportRoute(fname, _lfs); if (r == null) { ShowErrorMessage(err); } else { // Add note tvRoutes.Nodes.Add(GetTreeNode(r)); tvRoutes.Sort(); } } catch { ShowErrorMessage(err); } } }
/// <summary> /// Initialize configuration parameters. /// This method must be first called on application start /// For GUI mode from Main Form constructor /// For CMD mode from main thread /// The rest of events can be bind later but those 3 are mandatory /// </summary> /// <param name="OnFirstTimeRun">OnFirstTimeRun event handler</param> /// <param name="OnConfigFileChanged">OnConfigFileChanged event handler</param> /// <param name="OnShowErrorMessage">OnShowErrorMessage event handler</param> public static void Initialize(FirstTimeRunHandler OnFirstTimeRun, ConfigFileChangedHandler OnConfigFileChanged, ShowErrorMessageHandler OnShowErrorMessage) { Process.EnterDebugMode(); // Load the configuration file // Configuration must be loaded first of all. FirstTimeRun += OnFirstTimeRun; ConfigFileChanged += OnConfigFileChanged; ShowErrorMessage += OnShowErrorMessage; XmlManager.Init(); //\\ TEST // SaveNpcData(); // Everything else after LoadConfig(); XmlManager.Merge(config.WoWInfo.Version); XmlManager.AfterInit(); #if DEBUG List <Route> lr = new List <Route>(); Route r1 = new Route(new Endpoint(EndpointTypes.UNDEF, "", new Vector3D(1, 1, 1)), new Endpoint(EndpointTypes.UNDEF, "", new Vector3D(100, 100, 100)), "", true); lr.Add(r1); RouteListManager.Waypoints.Add(1F, lr); Route r2 = RouteListManager.FindRoute(new Vector3D(2, 2, 2)); if (!ReferenceEquals(r1, r2)) { throw new Exception("Waypoints access failed"); } //\\ Test // Quest merge test Quest q1 = new Quest(1, "Test 1", "Test", "", 1, new int[6], new string[3], "", "", ""); Quest q2 = new Quest(1, "Test 1", "Test", "", 1, new int[6], new string[3], "", "", ""); if (!q1.Equals(q2)) { throw new Exception("Quest Test 1 failed"); } // Add link and dest q2.Relations.Add(11); q2.DestName = "npc"; // Merge q1.MergeWith(q2); // check if (!q1.DestName.Equals("npc")) { throw new Exception("Quest Test 2 failed"); } if (!q1.RelatedTo.Equals("11")) { throw new Exception("Quest Test 3 failed"); } // Add extra relation q2.Relations.Add("10"); q1.MergeWith(q2); if (!q1.RelatedTo.Equals("10,11")) { throw new Exception("Quest Test 4 failed"); } if (!typeof(IMergeable).IsAssignableFrom(typeof(Quest))) { throw new Exception("Quest Test 5 failed"); } /* * NPC npc1 = ndata.Items[0].Items[2]; * NPC npc2 = ndata.Items[0].Items[2]; * * if (!npc1.Equals(npc2)) * Environment.Exit(1); */ /* * LuaFunction lf = CurWoWVersion.FindLuaFunction("GetNpcDialogInfo"); * string c = lf.Code; * // string c = "{0} {{}} {{'dd','xx'}}"; * string s = string.Format(c, 1); */ /* * NPC npc = new NPC(); * * npc.Name = "Test XXX"; * npc.WPList.Add(new Vector3D(1, 2, 3)); * npc.AddService(new ClassTrainingService("HUNTER")); * npc.AddQuest(new QuestHeader("Catch if u can", 1)); * * SaveNpcData(); */ #endif }