Пример #1
0
        /// <summary>
        /// File > Load plan from file.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void miLoadPlanFromFile_Click(object sender, EventArgs e)
        {
            // Prompt the user to select a file
            DialogResult dr = ofdOpenDialog.ShowDialog();

            if (dr == DialogResult.Cancel)
            {
                return;
            }

            // Load from file and returns if an error occured (user has already been warned)
            var serial = PlanExporter.ImportFromXML(ofdOpenDialog.FileName);

            if (serial == null)
            {
                return;
            }

            // Imports the plan
            Plan loadedPlan = new Plan(m_character);

            loadedPlan.Import(serial);

            // Cleans any obsolete entries and fixes the prerequisites
            loadedPlan.CleanObsoleteEntries();
            loadedPlan.Fix();

            // Prompt the user for the plan name
            using (NewPlanWindow npw = new NewPlanWindow())
            {
                npw.PlanName = Path.GetFileNameWithoutExtension(ofdOpenDialog.FileName);
                DialogResult xdr = npw.ShowDialog();
                if (xdr == DialogResult.Cancel)
                {
                    return;
                }

                loadedPlan.Name = npw.Result;
                m_character.Plans.Add(loadedPlan);
            }
        }