예제 #1
0
        public static void Generate()
        {
            var text           = FileLoader.LoadDefaultFile().text;
            var lineModels     = CreateLocalizedTextModel(text);
            var duplicatedKeys = GetDuplicatedKeys(lineModels);

            if (duplicatedKeys.Count >= 1)
            {
                string failedKeys = "{";
                foreach (var key in duplicatedKeys)
                {
                    failedKeys = failedKeys + key + ",";
                }
                failedKeys += "}";
                throw new Exception($"Duplicated Key {failedKeys}");
            }

            var header = new LocalizedTextHeaderModel(lineModels[0].LineText);

            var enumCode = ScriptGenerator.GenerateEnumScript(lineModels, header, DefaultEnumName);
            var generatedEnumScriptPath = TargetDefaultOutputFilePath(DefaultEnumName);

            GenerateEnumFile(enumCode, generatedEnumScriptPath);

            var localizerCode = ScriptGenerator.GenerateTextLocalizer(DefaultEnumName);
            var generatedLocalizerScriptPath2 = TargetDefaultOutputFilePath(DefaultTextLocalizerFileName);

            GenerateEnumFile(localizerCode, generatedLocalizerScriptPath2);

            // var uguiTextLocalize = ScriptGenerator.GenerateUGUITextLocalize(DefaultEnumName);
            // var generatedUguiTextLocalize = TargetDefaultOutputFilePath(UGUITextLocalizeFileName);
            // GenerateEnumFile(uguiTextLocalize, generatedUguiTextLocalize);

            AssetDatabase.Refresh();
        }
예제 #2
0
        public static void Generate(string targetLocalizedText, string generatedPath)
        {
            var lineModels     = CreateLocalizedTextModel(targetLocalizedText);
            var duplicatedKeys = GetDuplicatedKeys(lineModels);

            if (duplicatedKeys.Count >= 1)
            {
                string failedKeys = "{";
                foreach (var key in duplicatedKeys)
                {
                    failedKeys = failedKeys + key + ",";
                }
                failedKeys += "}";
                throw new Exception($"Duplicated Key {failedKeys}");
            }

            var header = new LocalizedTextHeaderModel(lineModels[0].LineText);
            var code   = ScriptGenerator.GenerateEnumScript(lineModels, header, DefaultEnumName);

            GenerateEnumFile(code, generatedPath);
            AssetDatabase.Refresh();
        }