Beispiel #1
0
        public static void SaveProject()
        {
            if (JetProps.get().Count <= 0)
            {
                return;
            }

            if (project == null)
            {
                project = new ProjectClass.ProjectFile();
            }

            project.ProjectName            = CurrentProjectVariables.ProjectName;
            project.PathToProjectFiles     = CurrentProjectVariables.PathToProjectFiles;
            project.PathToProjectClassFile = CurrentProjectVariables.PathToProjectClassFile;
            project.GameName              = CurrentProjectVariables.GameName;
            project.GamePath              = CurrentProjectVariables.GamePath;
            project.GameVersion           = CurrentProjectVariables.GameVersion;
            project.JetPassword           = CurrentProjectVariables.JetPassword;
            project.ExportPath            = CurrentProjectVariables.ExportPath;
            project.DateLastOpened        = CurrentProjectVariables.DateLastOpened;
            project.JsonEditor_OpenedTabs = CurrentProjectVariables.JsonEditor_OpenedTabs;
            project.ModifiedFiles         = CurrentProjectVariables.ModifiedFiles;


            project.UseNKHook       = false;
            project.DontAskAboutNKH = false;
            project.UseNKHook       = CurrentProjectVariables.UseNKHook;
            project.DontAskAboutNKH = CurrentProjectVariables.DontAskAboutNKH;


            string output_Cfg = JsonConvert.SerializeObject(project, Formatting.Indented);

            if (JetProps.get().Count <= 0)
            {
                return;
            }

            if (!Guard.IsStringValid(project.PathToProjectClassFile) || !Directory.Exists(project.PathToProjectClassFile))
            {
                ConsoleHandler.force_append_Notice_CanRepeat("WARNING!!!!! Unable to find the .toolbox file for this project! " +
                                                             "Failed to save project data. This can easily make toolbox not work properly. Please contact Toolbox" +
                                                             " Devs if this continues");
                return;
            }

            StreamWriter serialize = new StreamWriter(project.PathToProjectClassFile + "\\" + project.ProjectName + ".toolbox", false);

            serialize.Write(output_Cfg);
            serialize.Close();
        }
Beispiel #2
0
        private void AddWeapons()
        {
            ConsoleHandler.append("Adding WeaponDefinitions");

            string weaponDefinitions = CurrentProjectVariables.PathToProjectFiles + "\\Assets\\JSON\\WeaponDefinitions\\" + TowerName;

            if (Directory.Exists(weaponDefinitions))
            {
                Directory.Delete(weaponDefinitions, true);
            }


            string baseTowerWeaponDef = CurrentProjectVariables.PathToProjectFiles + "\\Assets\\JSON\\WeaponDefinitions\\" + BaseTowerName_NoExt;

            if (UseBaseTower)
            {
                if (Directory.Exists(baseTowerWeaponDef))
                {
                    if (!Directory.Exists(weaponDefinitions))
                    {
                        Directory.CreateDirectory(weaponDefinitions);
                    }

                    ConsoleHandler.append("Duplicating Base Tower's WeaponDefinitions");
                    GeneralMethods.CopyDirectory(baseTowerWeaponDef, weaponDefinitions);
                }
                else
                {
                    ConsoleHandler.append("Base Tower's WeaponDefinitions were not found. Creating empty weapon definitions");
                }
            }
            else
            {
                ConsoleHandler.append("Creating new WeaponDefinitions");
                Directory.CreateDirectory(weaponDefinitions);
            }

            foreach (var jetform in JetProps.get())
            {
                if (jetform.dirInfo.FullName == CurrentProjectVariables.PathToProjectFiles)
                {
                    ConsoleHandler.append(jetform.dirInfo.FullName);
                    jetform.treeView1.Nodes.Clear();
                    jetform.listView1.Items.Clear();
                    jetform.PopulateTreeView(CurrentProjectVariables.PathToProjectFiles);
                }
            }
        }
Beispiel #3
0
        public static bool IsProjectVald(string projFile)
        {
            string json    = File.ReadAllText(projFile);
            bool   isValid = JSON_Reader.IsValidJson(json);

            if (!isValid)
            {
                json    = json.Replace("\\\\", "\\").Replace("\\", "\\\\");
                isValid = JSON_Reader.IsValidJson(json);
                if (!isValid)
                {
                    if (JetProps.get().Count() > 0)
                    {
                        MessageBox.Show("Project File has invalid JSON. Please contact BTD Toolbox devs for assistance. Click \"Help\" at the top, then click \"Contact Us\"");
                        try { JetProps.getForm(JetProps.get().Count() - 1).Close(); }
                        catch (System.InvalidOperationException) { }
                    }

                    return(false);
                }
            }
            return(true);
        }