Exemple #1
0
        private void ExecuteCommand(int command)
        {
            IExeStack <IStmt>            exeStack = new ExeStack <IStmt>();
            IModList <int>               outList  = new ModList <int>();
            IModDictionary <string, int> dict     = new ModDictionary <string, int>();
            IStmt stmt = default(IStmt);
            IFileTable <int, FileData> fileTable = new FileTable <int, FileData>();

            switch (command)
            {
            case 1:
                stmt = new CompStmt(
                    new AssingStmt("v", new ConstExp(2)),
                    new PrintStmt(new VarExp("v")));
                break;

            case 2:
                break;

            case 3:
                break;

            case 4:
                stmt = new CompStmt(
                    new OpenRFile("var_f", @"E:\GitRepoCollege\MAP\C# - Toy language\Lab10\Toy Language\Toy Language\test.in"),
                    new CompStmt(
                        new ReadRFile(new VarExp("var_f"), "var_c"),
                        new CompStmt(
                            new PrintStmt(new VarExp("var_c")),
                            new CompStmt(
                                new IfStmt(
                                    new VarExp("var_c"),
                                    new CompStmt(
                                        new ReadRFile(new VarExp("var_f"), "var_c"),
                                        new PrintStmt(new VarExp("var_c"))),
                                    new PrintStmt(new ConstExp(0))),
                                new CloseRFile(new VarExp("var_f"))))));
                break;

            default:
                // throw some error
                throw new Exception("Invalid command");
            }

            PrgState prgState = new PrgState(exeStack, dict, outList, fileTable, stmt);

            ctrl.AddPrgState(prgState);
            try
            {
                ctrl.AllStep();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        public void saveLoadModsTest()
        {
            ModDictionary modDict = new ModDictionary();

            Mod m = new Mod("Test");

            modDict.Add("key", m);

            Configuration.WriteSetting("MODS", Configuration.SerializeObject(modDict));

            ModDictionary deserialized = Configuration.DeserializeObject<ModDictionary>(Configuration.ReadSetting("MODS"));

            Assert.AreEqual(modDict["key"].Name, deserialized["key"].Name);
        }
Exemple #3
0
        public void saveLoadModsTest()
        {
            ModDictionary modDict = new ModDictionary();

            Mod m = new Mod("Test");

            modDict.Add("key", m);

            Configuration.WriteSetting("MODS", Configuration.SerializeObject(modDict));

            ModDictionary deserialized = Configuration.DeserializeObject <ModDictionary>(Configuration.ReadSetting("MODS"));

            Assert.AreEqual(modDict["key"].Name, deserialized["key"].Name);
        }
Exemple #4
0
        /// <summary>
        /// Deletes cache and rebuilds configuration file.
        /// </summary>
        public void FlushCache()
        {
            imageTimer.Enabled = false;

            if (imagePreview.Image != null)
                imagePreview.Image.Dispose();
            imagePreview.Image = null;

            imageLoop.Clear();
            if (Directory.Exists(Paths.CACHE))
                TryDeleteDirectory(Paths.CACHE);
            Directory.CreateDirectory(Paths.CACHE + "\\");

            modDict = new ModDictionary();

            Configuration.saveMods(modDict);
            txtSearch.Text = "";
        }
 /// <summary>
 /// Saves a list of installed mods to the "MODS" key
 /// </summary>
 /// <param name="list">List of installed mods.</param>
 /// <returns>True if successful, otherwise false</returns>
 public static bool saveMods(ModDictionary list) => WriteSetting("MODS", SerializeObject(list));