Пример #1
0
        /// <summary>
        /// Loops over every folder inside the ruleset directory and looks for valid config.xml files. Valid configurations are added to the list of the  main form.
        /// </summary>
        public static void DiscoverRulesets()
        {
            if (!Directory.Exists(Utility.RulesetDirectory))
            {
                Directory.CreateDirectory(Utility.RulesetDirectory);
                return;
            }

            foreach (string directory in Directory.GetDirectories(Utility.RulesetDirectory))
            {
                string file = directory + "\\config.xml";
                if (!File.Exists(file))
                {
                    continue;
                }

                Configuration config = Configuration.TryLoadConfig(directory);
                if (config == null)
                {
                    continue;
                }

                MainFormHelper.Get().Games.Add(config);
            }
        }
Пример #2
0
 public static void OverlayLog(string message, bool useLogfile = false)
 {
     MainFormHelper.Get().GameMasterProcess.OverlayLog(message);
     if (useLogfile)
     {
         MainFormHelper.Get().GameMasterProcess.Log(message);
     }
 }
Пример #3
0
        /// <summary>
        /// Deletes a ruleset
        /// </summary>
        public void Delete()
        {
            MainForm Main = MainFormHelper.Get();

            Main.Games.Remove(this);
            Main.UpdateList();
            Directory.Delete(Path.Combine(Utility.RulesetDirectory, Folder), true);
        }
Пример #4
0
 public static void Throw(string exception, Severity severity = Severity.Low)
 {
     LogHelper.Log(exception);
     if (severity == Severity.Medium)
     {
         LogHelper.OverlayLog("An exception has occured! The program may be unstable now!");
     }
     if (severity == Severity.High)
     {
         MainFormHelper.Get().GameMasterProcess.Interrupt();
     }
 }
Пример #5
0
        /// <summary>
        /// Saves the specified ruleset as an XML to the specified path
        /// </summary>
        /// <param name="ruleset">The ruleset to be saved</param>
        /// <param name="path">The path of the XML</param>
        public static void Save(Configuration ruleset)
        {
            if (ruleset.Folder == null)
            {
                ruleset.Folder = Path.Combine(Utility.RulesetDirectory, Utility.GenerateSlug(ruleset.Name));
                if (!Directory.Exists(ruleset.Folder))
                {
                    Directory.CreateDirectory(ruleset.Folder);
                }
            }
            XmlSerializer serializer = new XmlSerializer(typeof(Configuration));
            TextWriter    writer     = new StreamWriter(Path.Combine(ruleset.Folder, "config.xml"));

            serializer.Serialize(writer, ruleset);
            writer.Flush();
            writer.Close();
            if (!MainFormHelper.Get().Games.Contains(ruleset))
            {
                MainFormHelper.Get().Games.Add(ruleset);
                MainFormHelper.Get().UpdateList();
            }
        }
Пример #6
0
 public static void Log(string message) => MainFormHelper.Get().GameMasterProcess.Log(message);