From 650351d224145cc692715571fc2178378bff393a Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 10 十二月 2024 19:54:29 +0800
Subject: [PATCH] 0312 英文版本增加ip请求

---
 Assets/Editor/Actor/ResourcesBuilder.cs |  178 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 125 insertions(+), 53 deletions(-)

diff --git a/Assets/Editor/Actor/ResourcesBuilder.cs b/Assets/Editor/Actor/ResourcesBuilder.cs
index f90b949..c7124d8 100644
--- a/Assets/Editor/Actor/ResourcesBuilder.cs
+++ b/Assets/Editor/Actor/ResourcesBuilder.cs
@@ -10,6 +10,7 @@
     protected const byte param_Prefab = 2;
     protected const byte param_Clip = 4;
     protected const byte param_AnimatorController = 8;
+    protected const byte param_AnimatorUIController = 16;
 
     protected class MountPointInfo
     {
@@ -106,9 +107,28 @@
         }
     }
 
+    public static bool IsBuildAnimatorUIController
+    {
+        get
+        {
+            return (buildParams & param_AnimatorUIController) != 0;
+        }
+        set
+        {
+            if (value)
+            {
+                buildParams |= param_AnimatorUIController;
+            }
+            else
+            {
+                buildParams &= ~param_AnimatorUIController;
+            }
+        }
+    }
+
     protected static List<MountPointInfo> m_MountPointInfoList = new List<MountPointInfo>();
 
-    public void BuildPrefab(string path, string resName, string suffix, string outName = null)
+    public void BuildPrefab(string path, string resName, string suffix, string outName = null, bool isHighMesh = false)
     {
         if (string.IsNullOrEmpty(outName))
         {
@@ -118,11 +138,37 @@
         string _absOriginalePath = string.Format("{0}/ART/Role/{1}/{2}.FBX", Application.dataPath, path, resName);
         string _originalAssetPath = string.Format("Assets/ART/Role/{0}/{1}.FBX", path, resName);
 
-        string _absAssetPath = string.Format("{0}Mob/{1}{2}.prefab", ResourcesPath.ResourcesOutPath, suffix, outName);
-        string _assetPath = string.Format("{0}Mob/{1}{2}.prefab", ResourcesPath.ResourcesOutAssetPath, suffix, outName);
+        if ((resName.StartsWith("A_Zs") || resName.StartsWith("A_Fs"))
+         && !isHighMesh
+         && (suffix.Equals(InstanceResourcesLoader.raceSuffix) || suffix.Equals(InstanceResourcesLoader.handSuffix)))
+        {
+            _absOriginalePath = string.Format("{0}/ART/Role/{1}/{2}_Dm.FBX", Application.dataPath, path, resName);
+            _originalAssetPath = string.Format("Assets/ART/Role/{0}/{1}_Dm.FBX", path, resName);
+        }
 
-        string _acAbsAssetPath = string.Format("{0}Mob/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutPath, path, AnimatorControllerLoader.controllerSuffix, path);
-        string _acAssetPath = string.Format("{0}Mob/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutAssetPath, path, AnimatorControllerLoader.controllerSuffix, path);
+        string _tempPrefabName = outName;
+
+        if (isHighMesh
+        && ((resName.StartsWith("A_Zs") || resName.StartsWith("A_Fs"))
+        && (suffix.Equals(InstanceResourcesLoader.raceSuffix) || suffix.Equals(InstanceResourcesLoader.handSuffix))))
+        {
+            _tempPrefabName += "_UI";
+
+            _absOriginalePath = string.Format("{0}/ART/Role/{1}/{2}.FBX", Application.dataPath, path, resName);
+            _originalAssetPath = string.Format("Assets/ART/Role/{0}/{1}.FBX", path, resName);
+        }
+
+        string _absAssetPath = string.Format("{0}Gmodels/{1}{2}.prefab", ResourcesPath.ResourcesOutPath, suffix, _tempPrefabName);
+        string _assetPath = string.Format("{0}Gmodels/{1}{2}.prefab", ResourcesPath.ResourcesOutAssetPath, suffix, _tempPrefabName);
+
+        string _acAbsAssetPath = string.Format("{0}Gmodels/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutPath, path, AnimatorControllerLoader.controllerSuffix, path);
+        string _acAssetPath = string.Format("{0}Gmodels/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutAssetPath, path, AnimatorControllerLoader.controllerSuffix, path);
+
+        if (!outName.Equals(resName))
+        {
+            _acAbsAssetPath = string.Format("{0}Gmodels/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutPath, path, AnimatorControllerLoader.controllerSuffix, outName);
+            _acAssetPath = string.Format("{0}Gmodels/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutAssetPath, path, AnimatorControllerLoader.controllerSuffix, outName);
+        }
 
         if (string.IsNullOrEmpty(_absOriginalePath))
         {
@@ -132,7 +178,7 @@
         // 鎸囧畾鍔ㄧ敾鎺у埗鍣�
         if (!File.Exists(_acAbsAssetPath))
         {
-            Debug.LogWarningFormat("妫�娴嬪埌姝refab璧勬簮: {0} 鐨凙nimatorContorller(鍔ㄧ敾鎺у埗鍣�)璧勬簮灏氭湭鐢熸垚, 杩欓噷闇�瑕佹敞鎰忓晩姝よ祫婧愭槸鍚﹂渶瑕佸厛鐢熸垚AnimatorContorller(鍔ㄧ敾鎺у埗鍣�), 鍐嶇敓鎴恜refab璧勬簮.", path);
+            Debug.LogWarningFormat("妫�娴嬪埌姝refab璧勬簮: {0} 鐨凙nimatorContorller(鍔ㄧ敾鎺у埗鍣�)璧勬簮灏氭湭鐢熸垚, 杩欓噷闇�瑕佹敞鎰忓晩姝よ祫婧愭槸鍚﹂渶瑕佸厛鐢熸垚AnimatorContorller(鍔ㄧ敾鎺у埗鍣�), 鍐嶇敓鎴恜refab璧勬簮.", _acAssetPath);
         }
 
         ColliderInfo _colliderInfo = null;
@@ -206,15 +252,15 @@
         }
 
         // 涓轰簡闃叉fbx鏈韩灏卞甫鏈夋潗璐�, 杩欓噷鍘绘帀fbx涓婄殑Import material灞炴��
-        ModelImporter _modelImport = AssetImporter.GetAtPath(_originalAssetPath) as ModelImporter;
-        if (_modelImport != null)
-        {
-            if (_modelImport.importMaterials)
-            {
-                _modelImport.importMaterials = false;
-                _modelImport.SaveAndReimport();
-            }
-        }
+        //ModelImporter _modelImport = AssetImporter.GetAtPath(_originalAssetPath) as ModelImporter;
+        //if (_modelImport != null)
+        //{
+        //    if (_modelImport.importMaterials)
+        //    {
+        //        _modelImport.importMaterials = false;
+        //        _modelImport.SaveAndReimport();
+        //    }
+        //}
 
         GameObject _prefab = Object.Instantiate(_fbxRes);
 
@@ -248,17 +294,17 @@
         }
 
         // 鍔犺浇鐗规晥
-        if (outName.StartsWith("M")
-         || outName.StartsWith("N")
-         || outName.StartsWith("B_")
-         || outName.StartsWith("Zq"))
-        {
-            HandlerModelEffect("horseEffectConfig", null, outName, ref _prefab);
-        }
-        else if (InstanceResourcesLoader.raceSuffix.Equals(suffix))
-        {
-            HandlerModelEffect("clothesEffectConfig", path, resName, ref _prefab);
-        }
+        //if (outName.StartsWith("M")
+        // || outName.StartsWith("N")
+        // || outName.StartsWith("B_")
+        // || outName.StartsWith("Zq"))
+        //{
+        //    HandlerModelEffect("horseEffectConfig", null, outName, ref _prefab);
+        //}
+        //else if (InstanceResourcesLoader.raceSuffix.Equals(suffix))
+        //{
+        //    HandlerModelEffect("clothesEffectConfig", path, resName, ref _prefab);
+        //}
 
         if (_colliderInfo != null)
         {
@@ -268,7 +314,17 @@
             _collider.height = _colliderInfo.height;
         }
 
-        Transform _rendererNode = _prefab.transform.Find(resName);
+        string _tempName = resName;
+
+        if ((resName.StartsWith("A_Zs") || resName.StartsWith("A_Fs"))
+            && (suffix.Equals(InstanceResourcesLoader.raceSuffix)
+             || suffix.Equals(InstanceResourcesLoader.handSuffix))
+            && !isHighMesh)
+        {
+            _tempName += "_Dm";
+        }
+
+        Transform _rendererNode = _prefab.transform.Find(_tempName);
         if (!_rendererNode)
         {
             _rendererNode = _prefab.transform;
@@ -277,7 +333,7 @@
         Renderer _renderer = _rendererNode.GetComponent<Renderer>();
         if (_renderer)
         {
-            OnSetupRenderer(path, resName, ref _renderer);
+            OnSetupRenderer(path, _tempName, ref _renderer);
         }
 
         Animation _animation = _prefab.GetComponent<Animation>();
@@ -286,18 +342,26 @@
             Object.DestroyImmediate(_animation);
         }
 
-        Animator _animator = _prefab.GetComponent<Animator>();
-
-        if (!_animator)
+        if (suffix.Equals(InstanceResourcesLoader.raceSuffix)
+         || suffix.Equals(InstanceResourcesLoader.horseSuffix)
+         || suffix.Equals(InstanceResourcesLoader.wingSuffix))
         {
-            _animator = _prefab.AddComponent<Animator>();
-        }
+            Animator _animator = _prefab.GetComponent<Animator>();
 
-        // 缁戝畾鍔ㄧ敾鎺у埗鍣�
-        RuntimeAnimatorController _runtimeAnimatorContorller = AssetDatabase.LoadAssetAtPath<RuntimeAnimatorController>(_acAssetPath);
-        if (_runtimeAnimatorContorller)
-        {
-            _animator.runtimeAnimatorController = _runtimeAnimatorContorller;
+            if (!_animator)
+            {
+                _animator = _prefab.AddComponent<Animator>();
+            }
+
+            if (suffix.Equals(InstanceResourcesLoader.wingSuffix))
+            {
+                // 缁戝畾鍔ㄧ敾鎺у埗鍣�
+                RuntimeAnimatorController _runtimeAnimatorContorller = AssetDatabase.LoadAssetAtPath<RuntimeAnimatorController>(_acAssetPath);
+                if (_runtimeAnimatorContorller)
+                {
+                    _animator.runtimeAnimatorController = _runtimeAnimatorContorller;
+                }
+            }
         }
 
         PrefabUtility.CreatePrefab(_assetPath, _prefab, ReplacePrefabOptions.Default);
@@ -319,7 +383,7 @@
             return;
         }
 
-        string _configPath = ResourcesPath.ResourcesOutAssetPath + "Mob/" + configName + ".asset";
+        string _configPath = ResourcesPath.ResourcesOutAssetPath + "Gmodels/" + configName + ".asset";
         HorseEffectConfig _horseEffectConfig = AssetDatabase.LoadAssetAtPath<HorseEffectConfig>(_configPath);
         if (_horseEffectConfig == null
          || _horseEffectConfig.effectConfigList == null
@@ -383,7 +447,7 @@
             _effect = Object.Instantiate(_effect);
             _effect.name = _effect.name.Replace("(Clone)", "");
             _effect.transform.SetParentEx(_parent, Vector3.zero, Quaternion.identity, Vector3.one);
-            _effect.SetLayer(LayerUtility.BattleEffect, true);
+            _effect.SetLayer(LayerUtility.BattleEffectLow, true);
         }
     }
 
@@ -413,8 +477,8 @@
     {
         string _absOriginaleDirectory = string.Format("{0}/ART/Role/{1}", Application.dataPath, path);
         string _assetOriginalDirectory = string.Format("Assets/ART/Role/{0}", path);
-        string _absAssetDirectory = string.Format("{0}/ResourcesOut/Mob/{1}/AnimationClips", Application.dataPath, path);
-        string _assetDirectory = string.Format("Assets/ResourcesOut/Mob/{0}/AnimationClips", path);
+        string _absAssetDirectory = string.Format("{0}/ResourcesOut/Gmodels/{1}/AnimationClips", Application.dataPath, path);
+        string _assetDirectory = string.Format("Assets/ResourcesOut/Gmodels/{0}/AnimationClips", path);
 
         if (!Directory.Exists(_absOriginaleDirectory))
         {
@@ -505,27 +569,35 @@
             outName = resName;
         }
 
-        string _absAssetPath = string.Format("{0}Mob/{1}", ResourcesPath.ResourcesOutPath, resName);
+        string _absAssetPath = string.Format("{0}Gmodels/{1}", ResourcesPath.ResourcesOutPath, outName);
 
         if (!Directory.Exists(_absAssetPath))
         {
             Directory.CreateDirectory(_absAssetPath);
         }
 
-        _absAssetPath = string.Format("{0}Mob/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutPath, resName, AnimatorControllerLoader.controllerSuffix, outName);
+        _absAssetPath = string.Format("{0}Gmodels/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutPath, outName, AnimatorControllerLoader.controllerSuffix, outName);
+        string _assetPath = string.Format("{0}Gmodels/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutAssetPath, outName, AnimatorControllerLoader.controllerSuffix, outName);
 
-        string _assetPath = string.Format("{0}Mob/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutAssetPath, resName, AnimatorControllerLoader.controllerSuffix, outName);
         if (templeName.Equals("Temple_AnimatorController_BossShow"))
         {
-            _absAssetPath = string.Format("{0}Mob/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutPath, resName, AnimatorControllerLoader.controllerShowSuffix, resName);
-            _assetPath = string.Format("{0}Mob/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutAssetPath, resName, AnimatorControllerLoader.controllerShowSuffix, resName);
+            _absAssetPath = string.Format("{0}Gmodels/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutPath, resName, AnimatorControllerLoader.controllerShowSuffix, resName);
+            _assetPath = string.Format("{0}Gmodels/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutAssetPath, resName, AnimatorControllerLoader.controllerShowSuffix, resName);
         }
+
         if (templeName.Equals("Temple_AnimatorController_Realm"))
         {
-            _absAssetPath = string.Format("{0}Mob/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutPath, resName, AnimatorControllerLoader.controllerRealmSuffix, resName);
-            _assetPath = string.Format("{0}Mob/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutAssetPath, resName, AnimatorControllerLoader.controllerRealmSuffix, resName);
+            _absAssetPath = string.Format("{0}Gmodels/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutPath, resName, AnimatorControllerLoader.controllerRealmSuffix, resName);
+            _assetPath = string.Format("{0}Gmodels/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutAssetPath, resName, AnimatorControllerLoader.controllerRealmSuffix, resName);
         }
-        string _templePath = string.Format("{0}Mob/{1}.controller", ResourcesPath.ResourcesOutPath, templeName);
+
+        if (templeName.Equals("Temple_AnimatorController_UI"))
+        {
+            _absAssetPath = string.Format("{0}Gmodels/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutPath, outName, AnimatorControllerLoader.controllerUISuffix, outName);
+            _assetPath = string.Format("{0}Gmodels/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutAssetPath, outName, AnimatorControllerLoader.controllerUISuffix, outName);
+        }
+
+        string _templePath = string.Format("{0}Gmodels/{1}.controller", ResourcesPath.ResourcesOutPath, templeName);
 
         if (File.Exists(_absAssetPath))
         {
@@ -556,7 +628,7 @@
 
         // 璇诲彇閰嶇疆鏂囦欢
         string _configPath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
-                                                  "mob/",
+                                                  "gmodels/",
                                                   configName,
                                                   ".asset");
 
@@ -567,7 +639,7 @@
         EditorUtility.SetDirty(_animatorController);
 
         AssetImporter _assetImport = AssetImporter.GetAtPath(_assetPath);
-        _assetImport.assetBundleName = ResourcesPath.MOB_FOLDER_NAME + ResourcesPath.MOB_SUFFIX + resName;
+        _assetImport.assetBundleName = ResourcesPath.MOB_FOLDER_NAME + ResourcesPath.MOB_SUFFIX + outName;
 
         EditorUtility.ClearProgressBar();
 
@@ -657,7 +729,7 @@
     {
 
         string _assetPath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
-                                                 "mob/",
+                                                 "gmodels/",
                                                   modelName,
                                                  "/AnimationClips/",
                                                  clipName,

--
Gitblit v1.8.0