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