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/ActorEditor.cs |  126 ++++++++++++++++++++++++++++++++----------
 1 files changed, 96 insertions(+), 30 deletions(-)

diff --git a/Assets/Editor/Actor/ActorEditor.cs b/Assets/Editor/Actor/ActorEditor.cs
index 76cf160..ed18599 100644
--- a/Assets/Editor/Actor/ActorEditor.cs
+++ b/Assets/Editor/Actor/ActorEditor.cs
@@ -4,6 +4,7 @@
 using UnityEditor;
 using UnityEditor.Animations;
 using TableConfig;
+using System;
 
 public class ActorEditor : EditorWindow
 {
@@ -15,21 +16,66 @@
         _window.Show();
     }
 
+    [MenuItem("绋嬪簭/瑙掕壊鐩稿叧/鍗歌浇NPC鍔ㄧ敾鐘舵�佹満")]
+    static void RemoveAnimator()
+    {
+        var _dict = Config.Instance.GetAllValues<NPCConfig>();
+        int i = 0;
+        foreach (var _model in _dict)
+        {
+            if (_model.NPCType != 0
+             && _model.NPCType != 2
+             && _model.NPCType != 3
+             && _model.NPCType != 4
+             && _model.NPCType != 5
+             && _model.NPCType != 8
+             && _model.NPCType != 9
+             && _model.NPCType != 14
+             && _model.NPCType != 16
+             && _model.NPCType != 17
+             && _model.NPCType != 18
+             && _model.NPCType != 19)
+            {
+                continue;
+            }
+
+            if (string.IsNullOrEmpty(_model.MODE))
+            {
+                continue;
+            }
+
+
+        }
+    }
+
+    private enum BuildNpcType
+    {
+        Npc,
+        Pet,
+        Horse
+    }
+
+    private BuildNpcType m_NpcType;
+
     private bool m_GenerateNoExist = false;
     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;
     private string m_ModelName;
+    private string m_BuildName;
+
+    public bool m_HighMesh;
 
     private NpcResourcesBuilder m_NpcResBuilder;
     private ModelResourcesBuilder m_ModelResBuilder;
 
     private void OnEnable()
     {
-        ConfigManager.Instance.SyncLoadConfigs();
+        Config.Instance.SyncLoadConfigs();
         m_NpcResBuilder = new NpcResourcesBuilder();
         m_ModelResBuilder = new ModelResourcesBuilder();
     }
@@ -40,39 +86,38 @@
 
         EditorGUILayout.LabelField("# 鐢熸垚Npc瑙掕壊璧勬簮 #");
 
-        m_ModelName = EditorGUILayout.TextField("妯″瀷鍚嶇О", m_ModelName);
-
+        EditorGUILayout.BeginVertical();
+        m_ModelName = EditorGUILayout.TextField("鏉ユ簮鍚�", m_ModelName);
+        m_BuildName = EditorGUILayout.TextField("鐢熸垚鍚�", m_BuildName);
+        EditorGUILayout.BeginHorizontal();
+        m_NpcType = (BuildNpcType)EditorGUILayout.EnumPopup("绫诲瀷:", m_NpcType);
+        m_HighMesh = EditorGUILayout.ToggleLeft("楂樻ā", m_HighMesh);
+        EditorGUILayout.EndHorizontal();
+        EditorGUILayout.EndVertical();
         EditorGUILayout.BeginHorizontal();
         m_GenerateNoExist = GUILayout.Toggle(m_GenerateNoExist, "鍙敓鎴愪笉瀛樺湪鐨�");
         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)))
         {
-            m_NpcResBuilder.BuildNpc(m_ModelName);
+            m_NpcResBuilder.BuildNpc(m_ModelName, m_BuildName, (int)m_NpcType, m_HighMesh);
         }
 
-        if (GUILayout.Button("鐢熸垚鎵�鏈�", GUILayout.Height(24)))
+        if (GUILayout.Button("鎸夌収缁欏畾鐨凬PC閰嶇疆淇℃伅鐢熸垚"))
         {
             bool _result = EditorUtility.DisplayDialog("娓╅Θ鎻愰啋", "鐢熸垚鎵�鏈夋崲瑁呰祫婧愬皢浼氳�楄垂姣旇緝闀跨殑鏃堕棿, 璇疯寰楀嚑鐐�, 鏄惁鏄渶瑕佺敓鎴愭墍鏈夌殑璧勬簮, 濡傛灉涓嶆槸, 璁板緱鍙互鍘绘帀涓嶇敓鎴愮殑璧勬簮,鏄笉鏄笉闇�瑕佺敓鎴愬凡缁忓瓨鍦ㄧ殑璧勬簮, 濡傛灉涓嶉渶瑕�, 璁板緱鍕鹃�塠鍙敓鎴愪笉瀛樺湪鐨刔", "纭鐢熸垚", "鎴戞寜閿欎簡");
             if (_result)
             {
-                var _dict = ConfigManager.Instance.GetAllValues<NPCConfig>();
-                foreach (var _model in _dict)
-                {
-                    if (string.IsNullOrEmpty(_model.MODE))
-                    {
-                        continue;
-                    }
-
-                    m_NpcResBuilder.BuildNpc(_model.MODE);
-                }
+                BuildAllUIAnimatorController();
             }
         }
 
@@ -84,18 +129,18 @@
 
         if (GUILayout.Button("鍗曠嫭鐢熸垚", GUILayout.Height(24)))
         {
-            m_ModelResBuilder.BuildModelRes(m_ModelResID);
+            m_ModelResBuilder.BuildModelRes(m_ModelResID, m_HighMesh);
         }
 
         if (GUILayout.Button("鎵�鏈夌繀鑶�", GUILayout.Height(24)))
         {
 
-            var _dict = ConfigManager.Instance.GetAllValues<ModelResConfig>();
+            var _dict = Config.Instance.GetAllValues<ModelResConfig>();
             foreach (var _item in _dict)
             {
                 if (_item.Type == (int)E_ModelResType.Wing)
                 {
-                    m_ModelResBuilder.BuildWing(_item.ID);
+                    m_ModelResBuilder.BuildWing(_item.ID, m_HighMesh);
                 }
             }
         }
@@ -103,12 +148,12 @@
         if (GUILayout.Button("鎵�鏈夋鍣�", GUILayout.Height(24)))
         {
 
-            var _dict = ConfigManager.Instance.GetAllValues<ModelResConfig>();
+            var _dict = Config.Instance.GetAllValues<ModelResConfig>();
             foreach (var _item in _dict)
             {
                 if (_item.Type == (int)E_ModelResType.Weapon)
                 {
-                    m_ModelResBuilder.BuildWeapon(_item.ID);
+                    m_ModelResBuilder.BuildWeapon(_item.ID, m_HighMesh);
                 }
             }
         }
@@ -116,12 +161,12 @@
         if (GUILayout.Button("鎵�鏈夊壇鎵�", GUILayout.Height(24)))
         {
 
-            var _dict = ConfigManager.Instance.GetAllValues<ModelResConfig>();
+            var _dict = Config.Instance.GetAllValues<ModelResConfig>();
             foreach (var _item in _dict)
             {
                 if (_item.Type == (int)E_ModelResType.Secondary)
                 {
-                    m_ModelResBuilder.BuildSecondary(_item.ID);
+                    m_ModelResBuilder.BuildSecondary(_item.ID, m_HighMesh);
                 }
             }
         }
@@ -129,12 +174,12 @@
         if (GUILayout.Button("鎵�鏈夎。鏈�", GUILayout.Height(24)))
         {
 
-            var _dict = ConfigManager.Instance.GetAllValues<ModelResConfig>();
+            var _dict = Config.Instance.GetAllValues<ModelResConfig>();
             foreach (var _item in _dict)
             {
                 if (_item.Type == (int)E_ModelResType.Suit)
                 {
-                    m_ModelResBuilder.BuildClothes(_item.ID);
+                    m_ModelResBuilder.BuildClothes(_item.ID, m_HighMesh);
                 }
             }
         }
@@ -142,12 +187,12 @@
         if (GUILayout.Button("鎵�鏈夊潗楠�", GUILayout.Height(24)))
         {
 
-            var _dict = ConfigManager.Instance.GetAllValues<ModelResConfig>();
+            var _dict = Config.Instance.GetAllValues<ModelResConfig>();
             foreach (var _item in _dict)
             {
                 if (_item.Type == (int)E_ModelResType.Horse)
                 {
-                    m_ModelResBuilder.BuildHorse(_item.ID);
+                    m_ModelResBuilder.BuildHorse(_item.ID, m_HighMesh);
                 }
             }
         }
@@ -157,10 +202,10 @@
             bool _result = EditorUtility.DisplayDialog("娓╅Θ鎻愰啋", "鐢熸垚鎵�鏈夋崲瑁呰祫婧愬皢浼氳�楄垂姣旇緝闀跨殑鏃堕棿, 璇疯寰楀嚑鐐�, 鏄惁鏄渶瑕佺敓鎴愭墍鏈夌殑璧勬簮, 濡傛灉涓嶆槸, 璁板緱鍙互鍘绘帀涓嶇敓鎴愮殑璧勬簮,鏄笉鏄笉闇�瑕佺敓鎴愬凡缁忓瓨鍦ㄧ殑璧勬簮, 濡傛灉涓嶉渶瑕�, 璁板緱鍕鹃�塠鍙敓鎴愪笉瀛樺湪鐨刔", "纭鐢熸垚", "鎴戞寜閿欎簡");
             if (_result)
             {
-                var _dict = ConfigManager.Instance.GetAllValues<ModelResConfig>();
+                var _dict = Config.Instance.GetAllValues<ModelResConfig>();
                 foreach (var _item in _dict)
                 {
-                    m_ModelResBuilder.BuildModelRes(_item.ID);
+                    m_ModelResBuilder.BuildModelRes(_item.ID, m_HighMesh);
                 }
             }
         }
@@ -170,6 +215,27 @@
         if (GUILayout.Button("閲嶅懡鍚岮ssetBundle"))
         {
             ReAssetBundleName();
+        }
+    }
+
+    private void BuildAllUIAnimatorController()
+    {
+        string _configPath = EditorUtility.OpenFilePanel("閫夋嫨閰嶇疆鏂囦欢", Application.dataPath + "/Editor/Config", "txt");
+        if (!string.IsNullOrEmpty(_configPath))
+        {
+            string[] _modeNames = File.ReadAllLines(_configPath);
+            for (int i = 0; i < _modeNames.Length; ++i)
+            {
+                _modeNames[i] = _modeNames[i].Trim();
+                if (string.IsNullOrEmpty(_modeNames[i]))
+                {
+                    continue;
+                }
+
+                var _kv = _modeNames[i].Split('\t');
+
+                m_NpcResBuilder.BuildNpc(_kv[0], _kv[1], int.Parse(_kv[2]), m_HighMesh);
+            }
         }
     }
 
@@ -278,7 +344,7 @@
     static void ExportAnimationClips()
     {
 
-        Object[] _selectObjects = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
+        UnityEngine.Object[] _selectObjects = Selection.GetFiltered(typeof(UnityEngine.Object), SelectionMode.DeepAssets);
         if (_selectObjects == null || _selectObjects.Length == 0)
         {
             return;
@@ -307,7 +373,7 @@
             string _assetPath = string.Empty;
             string _newAssetPath = string.Empty;
             string _assetName = string.Empty;
-            Object _clip = null;
+            UnityEngine.Object _clip = null;
             int _index = 0;
             foreach (var _object in _selectObjects)
             {

--
Gitblit v1.8.0