From 8b347eb7b90c1f70361ea40d5cd3efd3943a9772 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期一, 08 十月 2018 10:04:35 +0800
Subject: [PATCH] 3732 【前端】场景Npc读取待机动作2号, 生成工具

---
 Assets/Editor/Actor/ResourcesBuilder.cs    |   30 +++++++++++++++++++++++++++++-
 Assets/Editor/Actor/NpcResourcesBuilder.cs |    7 ++++++-
 Assets/Editor/Actor/ActorEditor.cs         |    3 +++
 3 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/Assets/Editor/Actor/ActorEditor.cs b/Assets/Editor/Actor/ActorEditor.cs
index 04b6149..11636ea 100644
--- a/Assets/Editor/Actor/ActorEditor.cs
+++ b/Assets/Editor/Actor/ActorEditor.cs
@@ -28,6 +28,7 @@
     private bool m_GenerateAnimationClip = false;
     private bool m_GenerateController = false;
     private bool m_GeneratePrefab = false;
+    private bool m_GenerateUIController = false;
 
     private int m_ModelResID;
     private int m_NpcID;
@@ -65,10 +66,12 @@
         m_GeneratePrefab = GUILayout.Toggle(m_GeneratePrefab, "Prefab");
         m_GenerateAnimationClip = GUILayout.Toggle(m_GenerateAnimationClip, "Clips");
         m_GenerateController = GUILayout.Toggle(m_GenerateController, "Controller");
+        m_GenerateUIController = GUILayout.Toggle(m_GenerateUIController, "UI_Controller");
         ResourcesBuilder.OnlyBuildNoExist = m_GenerateNoExist;
         ResourcesBuilder.IsBuildPrefab = m_GeneratePrefab;
         ResourcesBuilder.IsBuildAnimationClip = m_GenerateAnimationClip;
         ResourcesBuilder.IsBuildAnimatorController = m_GenerateController;
+        ResourcesBuilder.IsBuildAnimatorUIController = m_GenerateUIController;
         EditorGUILayout.EndHorizontal();
 
         if (GUILayout.Button("鍗曠嫭鐢熸垚", GUILayout.Height(24)))
diff --git a/Assets/Editor/Actor/NpcResourcesBuilder.cs b/Assets/Editor/Actor/NpcResourcesBuilder.cs
index e795e26..d83cc9c 100644
--- a/Assets/Editor/Actor/NpcResourcesBuilder.cs
+++ b/Assets/Editor/Actor/NpcResourcesBuilder.cs
@@ -76,7 +76,7 @@
 
     public void BuildAnimatorController(string modelName, string outName = null, int type = -1)
     {
-        if (!IsBuildAnimatorController)
+        if (!IsBuildAnimatorController && !IsBuildAnimatorUIController)
         {
             return;
         }
@@ -93,6 +93,11 @@
         {
             BuildAnimatorController(modelName, "Temple_AnimatorController_Horse", "animatorBuildConfig", outName);
         }
+
+        if(ResourcesBuilder.IsBuildAnimatorUIController)
+        {
+            BuildAnimatorController(modelName, "Temple_AnimatorController_UI", "animatorBuildConfig", outName);
+        }
     }
 
     public void BuildBossShowAnimatorController(string modelName)
diff --git a/Assets/Editor/Actor/ResourcesBuilder.cs b/Assets/Editor/Actor/ResourcesBuilder.cs
index 991ff25..6889125 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
     {
@@ -102,6 +103,25 @@
             else
             {
                 buildParams &= ~param_AnimatorController;
+            }
+        }
+    }
+
+    public static bool IsBuildAnimatorUIController
+    {
+        get
+        {
+            return (buildParams & param_AnimatorUIController) != 0;
+        }
+        set
+        {
+            if (value)
+            {
+                buildParams |= param_AnimatorUIController;
+            }
+            else
+            {
+                buildParams &= ~param_AnimatorUIController;
             }
         }
     }
@@ -546,18 +566,26 @@
         }
 
         _absAssetPath = string.Format("{0}Mob/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutPath, resName, 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);
         }
+
         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);
         }
+
+        if(templeName.Equals("Temple_AnimatorController_UI"))
+        {
+            _absAssetPath = string.Format("{0}Mob/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutPath, resName, AnimatorControllerLoader.controllerUISuffix, resName);
+            _assetPath = string.Format("{0}Mob/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutAssetPath, resName, AnimatorControllerLoader.controllerUISuffix, resName);
+        }
+
         string _templePath = string.Format("{0}Mob/{1}.controller", ResourcesPath.ResourcesOutPath, templeName);
 
         if (File.Exists(_absAssetPath))

--
Gitblit v1.8.0