コード例 #1
0
    public static void SaveScript(string name, string code, Tank.Logger logger)
    {
        var n = name;

        if (IsValidFileName(n))
        {
            try
            {
                AddScriptNames(new string[] { n });
                StringBuilder sb = new StringBuilder(code);
                sb.Replace("\r", "");
                File.WriteAllText(n + scriptExtention, sb.ToString());
                logger.Log($"Current script is successfuly saved as \"{n}\"!");
                RepopulateDropdowns();
            }
            catch (IOException e)
            {
                logger.Log($"Script saving failed due to an error risen with message \"{e.Message}\"");
            }
        }
        else
        {
            logger.Log($"Set name is not valid because it contains taboo chars \"{scriptNameTaboo}\". Try other name.");
        }
    }
コード例 #2
0
    public static string LoadScript(string requestedName, Tank.Logger logger)
    {
        var names = GetScriptNames();

        if (names.Contains(requestedName))
        {
            string content = "";
            try
            {
                var sb = new StringBuilder(File.ReadAllText(requestedName + scriptExtention));
                sb.Replace("\r", "");
                content = sb.ToString();
            }
            catch (IOException e)
            {
                logger.Log($"Error has occured while loading \"{requestedName}\" script with message \"{e.Message}\". The name would be deleted from selection dropdown.");
                RemoveScriptName(requestedName);
                RepopulateDropdowns();
                return("");
            }
            logger.Log($"Script \"{requestedName }\" was successfuly loaded!");
            return(content);
        }
        else
        {
            foreach (var item in StaticExamples.list)
            {
                if (requestedName.Contains(item.name))
                {
                    logger.Log($"Example script \"{item.name}\" was successfuly loaded!");
                    return(item.text);
                }
            }
        }
        return("");
    }