Пример #1
0
        public static void GenerateConfigAssets(string configAssetPath, string configPath, List <string> specifiedPathList)
        {
            List <string> paths = DynamicAssetGenerator.GeneratePaths(specifiedPathList, ".png");
            Dictionary <string, Sprite> assets = DynamicAssetGenerator.GenerateAssets <Sprite>(paths);

            List <DynamicAssetConfig> dynamicAssetConfigs = LoadDynamicAssetConfig(configPath);

            Dictionary <string, Sprite> configAssets = new Dictionary <string, Sprite>(dynamicAssetConfigs.Count);

            string variableDefinitioStr = "";

            foreach (DynamicAssetConfig config in dynamicAssetConfigs)
            {
                if (assets.ContainsKey(config.Resource))
                {
                    configAssets.Add(config.Resource, assets[config.Resource]);

                    if (config.Variable != "Null")
                    {
                        variableDefinitioStr += GetDefintionCode(config.Variable, config.Comment, config.Index);
                    }
                }
            }

            GenerateSpriteAssetFile(configAssetPath, configAssets);


            Dictionary <string, string> replaceStrDict = new Dictionary <string, string>
            {
                ["__Variable_Definition__"] = variableDefinitioStr,
            };

            TemplateScriptGenerator.GenerateScriptFile(Defitions.DynamicAssets.DefintionTemplateFile, Defitions.DynamicAssets.DynamicAssetDefintionFile, replaceStrDict, Encoding.UTF8);
        }
Пример #2
0
        public static void GenerateCodeFile(MenuCommand menuCommand)
        {
            m_CodeReplaceDict.Clear();
            m_SCEventSubStrs   = "";
            m_SCEventUnsubStrs = "";
            m_SCCallbackStrs   = "";
            m_CSRequsetStrs    = "";
            m_NowComment       = "";
            m_Name             = "";

            //UnityEngine.GameObject txt2 = menuCommand.context as UnityEngine.GameObject;

            UnityEngine.Object txt = Selection.activeObject;

            string selectionPath = AssetDatabase.GetAssetPath(txt);
            string directory     = Path.GetDirectoryName(selectionPath);
            string fileName      = Path.GetFileNameWithoutExtension(selectionPath);

            m_Name = fileName;

            GenerateCode(selectionPath);
            AddCodeReplace();

            string outputDirectory = Defitions.ScriptGenerator.DirectoryPrefix + "ProtoInterfaceGenerator/Generation";
            string outputFile      = outputDirectory + "/" + fileName + "NetworkRequest.txt";

            //string outputFile = directory + "/" + fileName + "NetworkRequest.txt";

            TemplateScriptGenerator.GenerateScriptFile(m_CodeTemplateFile, outputFile, m_CodeReplaceDict, Encoding.UTF8);

            AssetDatabase.ImportAsset(outputFile);
            AssetDatabase.Refresh();

            Debug.Log("生成完成");
        }
Пример #3
0
        private static void CreateScript(string templateFile, string outputFile)
        {
            UnityEngine.Object activeObject = Selection.activeObject;
            string             directory    = AssetDatabase.GetAssetPath(activeObject);

            Dictionary <string, string> codeReplaceDict = new Dictionary <string, string>()
            {
                ["__Name__"]            = "NewCodeBlockTemplate",
                ["__Test_Code_Block__"] = GetCodeBlockTest(10)
            };

            TemplateScriptGenerator.GenerateScriptFile(templateFile, directory + "/" + outputFile, codeReplaceDict, Encoding.UTF8);
        }
Пример #4
0
        private static void GenerateUIFormScript()
        {
            string outputDirectory = Defitions.VariableGenerator.UIFormDirectory + m_ClassName + "/";

            string uiformPath = outputDirectory + m_ClassName + ".cs";

            Dictionary <string, string> CodeReplacement = new Dictionary <string, string>()
            {
                ["__Name__"] = m_ClassName,
                ["__Variable_ButtonCallback__"] = m_ClickCallbacks
            };

            TemplateScriptGenerator.GenerateScriptFile(Defitions.VariableGenerator.UIFormTemplateFile, uiformPath, CodeReplacement, Encoding.UTF8);
        }
Пример #5
0
        private static void GenerateUIFormVariableScript()
        {
            string outputFile = Defitions.VariableGenerator.VariableDirectory + m_ClassName + ".Variable.cs";

            TemplateScriptGenerator.GenerateScriptFile(Defitions.VariableGenerator.CodeTemplateFile, outputFile, m_CodeReplaceDict, m_Encoding);
        }