From 6f8ed2e37f8762fb3501a671d0dca40bcd68edae Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期日, 21 十月 2018 10:26:29 +0800
Subject: [PATCH] Merge branch 'master' into leonard

---
 Assets/Editor/Actor/NpcResourcesBuilder.cs |  243 ++++++++++++++++++++++++++++--------------------
 1 files changed, 141 insertions(+), 102 deletions(-)

diff --git a/Assets/Editor/Actor/NpcResourcesBuilder.cs b/Assets/Editor/Actor/NpcResourcesBuilder.cs
index 71a7fd3..2d86f3a 100644
--- a/Assets/Editor/Actor/NpcResourcesBuilder.cs
+++ b/Assets/Editor/Actor/NpcResourcesBuilder.cs
@@ -1,103 +1,142 @@
-锘縰sing UnityEngine;
-using UnityEditor;
-using TableConfig;
-using System.Collections.Generic;
-
-public class NpcResourcesBuilder : ResourcesBuilder
-{
-    public void BuildNpc(string modelName)
-    {
-        if (modelName.Contains("A_Zs"))
-        {
-            return;
-        }
-
-        BuildAnimationClip1(modelName);
-        BuildAnimatorController(modelName);
-
-        var showConfigs = ConfigManager.Instance.GetAllValues<ActorShowConfig>();
-        NPCConfig _npcModel = null;
-        foreach (var _item in showConfigs)
-        {
-            for (int i = 0; i < _item.showNpcs.Length; i++)
-            {
-                _npcModel = ConfigManager.Instance.GetTemplate<NPCConfig>(_item.showNpcs[i]);
-                if (_npcModel == null)
-                {
-                    continue;
-                }
-
-                if (_npcModel.MODE.Equals(modelName))
-                {
-                    BuildBossShowAnimatorController(modelName);
-                    break;
-                }
-            }
-        }
-
-        BuildPrefab(modelName);
-    }
-
-    public void BuildPrefab(string modelName)
-    {
-        if (!IsBuildPrefab)
-        {
-            return;
-        }
-
-        BuildPrefab(modelName, modelName, InstanceResourcesLoader.raceSuffix);
-    }
-
-    public void BuildAnimationClip1(string modelName)
-    {
-        if (!IsBuildAnimationClip)
-        {
-            return;
-        }
-
-        BuildAnimationClip(modelName);
-    }
-
-    public void BuildAnimatorController(string modelName)
-    {
-        if (!IsBuildAnimatorController)
-        {
-            return;
-        }
-
-        if (modelName.Contains("B_Cw"))
-        {
-            BuildAnimatorController(modelName, "Temple_AnimatorController_Pet", "animatorBuildConfig");
-        }
-        else
-        {
-            BuildAnimatorController(modelName, "Temple_AnimatorController_Mob", "animatorBuildConfig");
-        }
-    }
-
-    public void BuildBossShowAnimatorController(string modelName)
-    {
-        if (!IsBuildAnimatorController)
-        {
-            return;
-        }
-
-        BuildAnimatorController(modelName, "Temple_AnimatorController_BossShow", "animatorBuildConfig_BossShow");
-    }
-
-    protected override void OnSetupRenderer(string resPath, string resName, ref Renderer _renderer)
-    {
-        string _texturePath = string.Format("Assets/ART/Role/{0}/Materials/{1}.png", resPath, resName);
-        string _materialPath = string.Format("Assets/ART/Role/{0}/Materials/{1}.mat", resPath, resName);
-
-        // 璁剧疆涓轰笉浜х敓闃村奖骞朵笖涓嶆帴鍙楅槾褰�
-        _renderer.receiveShadows = false;
-        _renderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
-
-        // 璁剧疆鏉愯川
-        _renderer.sharedMaterial = AssetDatabase.LoadAssetAtPath<Material>(_materialPath);
-        _renderer.sharedMaterial.shader = Shader.Find("Character/Normal Monster");
-        Texture _texture = AssetDatabase.LoadAssetAtPath<Texture>(_texturePath);
-        _renderer.sharedMaterial.SetTexture("_MainTex", _texture);
-    }
+锘縰sing UnityEngine;
+using UnityEditor;
+using TableConfig;
+using System.Collections.Generic;
+
+public class NpcResourcesBuilder : ResourcesBuilder
+{
+    public void BuildNpc(string modelName, string outName = null, int type = -1, bool isHighMesh = false)
+    {
+        if (modelName.Contains("A_Zs"))
+        {
+            return;
+        }
+
+        BuildAnimationClip1(modelName);
+        BuildAnimatorController(modelName, outName, type);
+
+        var showConfigs = Config.Instance.GetAllValues<ActorShowConfig>();
+        NPCConfig _npcModel = null;
+        foreach (var _item in showConfigs)
+        {
+            for (int i = 0; i < _item.showNpcs.Length; i++)
+            {
+                if(_item.showNpcs[i] == 0)
+                {
+                    continue;
+                }
+                _npcModel = Config.Instance.Get<NPCConfig>(_item.showNpcs[i]);
+                if (_npcModel == null)
+                {
+                    continue;
+                }
+
+                if (_npcModel.MODE.Equals(modelName))
+                {
+                    BuildBossShowAnimatorController(modelName);
+                    break;
+                }
+            }
+        }
+
+        var realmConfigs = Config.Instance.GetAllValues<RealmConfig>();
+        foreach (var _realmConfig in realmConfigs)
+        {
+            _npcModel = Config.Instance.Get<NPCConfig>(_realmConfig.BossID);
+            if (_npcModel == null)
+            {
+                continue;
+            }
+
+            if (_npcModel.MODE.Equals(modelName))
+            {
+                BuildRealmAnimatorController(modelName);
+                break;
+            }
+        }
+
+        BuildPrefab(modelName, outName, isHighMesh);
+    }
+
+    public void BuildPrefab(string modelName, string outName, bool isHighMesh = false)
+    {
+        if (!IsBuildPrefab)
+        {
+            return;
+        }
+
+        BuildPrefab(modelName, modelName, InstanceResourcesLoader.raceSuffix, outName, isHighMesh);
+    }
+
+    public void BuildAnimationClip1(string modelName)
+    {
+        if (!IsBuildAnimationClip)
+        {
+            return;
+        }
+
+        BuildAnimationClip(modelName);
+    }
+
+    public void BuildAnimatorController(string modelName, string outName = null, int type = -1)
+    {
+        if (!IsBuildAnimatorController && !IsBuildAnimatorUIController)
+        {
+            return;
+        }
+
+        if (type <= 0)
+        {
+            BuildAnimatorController(modelName, "Temple_AnimatorController_Mob", "animatorBuildConfig", outName);
+        }
+        else if (type == 1)
+        {
+            BuildAnimatorController(modelName, "Temple_AnimatorController_Pet", "animatorBuildConfig", outName);
+        }
+        else if (type == 2)
+        {
+            BuildAnimatorController(modelName, "Temple_AnimatorController_Horse", "animatorBuildConfig", outName);
+        }
+
+        if(ResourcesBuilder.IsBuildAnimatorUIController)
+        {
+            BuildAnimatorController(modelName, "Temple_AnimatorController_UI", "animatorBuildConfig", outName);
+        }
+    }
+
+    public void BuildBossShowAnimatorController(string modelName)
+    {
+        if (!IsBuildAnimatorController)
+        {
+            return;
+        }
+
+        BuildAnimatorController(modelName, "Temple_AnimatorController_BossShow", "animatorBuildConfig_BossShow");
+    }
+
+    public void BuildRealmAnimatorController(string modelName)
+    {
+        if (!IsBuildAnimatorController)
+        {
+            return;
+        }
+
+        BuildAnimatorController(modelName, "Temple_AnimatorController_Realm", "animatorBuildConfig_Realm");
+    }
+
+    protected override void OnSetupRenderer(string resPath, string resName, ref Renderer _renderer)
+    {
+        string _texturePath = string.Format("Assets/ART/Role/{0}/Materials/{1}.png", resPath, resName);
+        string _materialPath = string.Format("Assets/ART/Role/{0}/Materials/{1}.mat", resPath, resName);
+
+        // 璁剧疆涓轰笉浜х敓闃村奖骞朵笖涓嶆帴鍙楅槾褰�
+        _renderer.receiveShadows = false;
+        _renderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
+
+        // 璁剧疆鏉愯川
+        _renderer.sharedMaterial = AssetDatabase.LoadAssetAtPath<Material>(_materialPath);
+        _renderer.sharedMaterial.shader = Shader.Find("Character/Normal Monster");
+        Texture _texture = AssetDatabase.LoadAssetAtPath<Texture>(_texturePath);
+        _renderer.sharedMaterial.SetTexture("_MainTex", _texture);
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0