Пример #1
0
    static string GenerateDataScript(string scriptName, string[] fieldNames, string[] fieldTypes)
    {
        StringBuilder privateType = new StringBuilder();

        privateType.AppendLine();
        StringBuilder publicProperty = new StringBuilder();

        publicProperty.AppendLine();

        for (int i = 0; i < fieldNames.Length; i++)
        {
            var typeName = GenerateDefine.GetDesByFieldType(fieldTypes[i]);
            privateType.AppendFormat($"    [SerializeField] private {typeName} {fieldNames[i]};");
            privateType.AppendLine();

            var upperName = GenerateDefine.ToFirstLetterUpper(fieldNames[i]);
            publicProperty.AppendFormat($"    public {typeName} {upperName} => {fieldNames[i]};");
            publicProperty.AppendLine();
        }

        string str = ScriptTemplate;

        str = str.Replace("{0}", scriptName);
        str = str.Replace("{1}", privateType.ToString());
        str = str.Replace("{2}", publicProperty.ToString());
        return(str);
    }
Пример #2
0
    static void GenerateProjectConfig()
    {
        if (EditorApplication.isCompiling)
        {
            EditorUtility.DisplayDialog("Warning", "Wait for compiling end",
                                        "Confirm");
            return;
        }

        foreach (var csvName in GenerateDefine.csvList)
        {
            var path = GenerateDefine.GetCsvPath() + csvName + ".csv";

            if (!File.Exists(path))
            {
                Debug.LogError(path + "   is not exist");
                return;
            }

            CreateScriptObject(csvName, GenerateDefine.GetTableScriptNameByCsv(csvName), File.ReadAllLines(path));
        }
    }
Пример #3
0
    static void GenerateConfigScript()
    {
        if (EditorApplication.isCompiling)
        {
            EditorUtility.DisplayDialog("Warning", "Wait for compiling end",
                                        "Confirm");
            return;
        }

        foreach (var csvName in GenerateDefine.csvList)
        {
            var path = GenerateDefine.GetCsvPath() + csvName + ".csv";

            if (!File.Exists(path))
            {
                Debug.LogError(path + "   is not exist");
                return;
            }

            var      csvs       = File.ReadAllLines(path);
            string[] fieldNames = csvs[0].Split(',');
            string[] fieldTypes = csvs[1].Split(',');

            var scriptName = GenerateDefine.GetDataScriptNameByCsv(csvName);
            var str        = GenerateDataScript(scriptName, fieldNames, fieldTypes);
            FileUtils.SaveFile(GenerateDefine.ConfigScriptOutPutPath + scriptName + ".cs", str);

            var tableName = GenerateDefine.GetTableScriptNameByCsv(csvName);
            str = GenerateTableScript(scriptName, tableName);
            FileUtils.SaveFile(GenerateDefine.ConfigTableScriptOutPutPath + tableName + ".cs", str);

            break;
        }

        AssetDatabase.Refresh();
    }