From 2ac9fe16eabc53e303d91a0bc21ea2f383459905 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期三, 29 八月 2018 12:16:45 +0800
Subject: [PATCH] update 角色资源生成工具修改
---
Assets/Editor/Actor/ResourcesBuilder.cs | 30 ++++++++++----
Assets/Editor/Actor/NpcResourcesBuilder.cs | 24 +++++++-----
Assets/Editor/Actor/ActorEditor.cs | 19 ++++++++-
3 files changed, 51 insertions(+), 22 deletions(-)
diff --git a/Assets/Editor/Actor/ActorEditor.cs b/Assets/Editor/Actor/ActorEditor.cs
index 79e4e63..1b48b6a 100644
--- a/Assets/Editor/Actor/ActorEditor.cs
+++ b/Assets/Editor/Actor/ActorEditor.cs
@@ -15,6 +15,15 @@
_window.Show();
}
+ 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;
@@ -23,6 +32,7 @@
private int m_ModelResID;
private int m_NpcID;
private string m_ModelName;
+ private string m_BuildName;
private NpcResourcesBuilder m_NpcResBuilder;
private ModelResourcesBuilder m_ModelResBuilder;
@@ -40,8 +50,11 @@
EditorGUILayout.LabelField("# 鐢熸垚Npc瑙掕壊璧勬簮 #");
- m_ModelName = EditorGUILayout.TextField("妯″瀷鍚嶇О", m_ModelName);
-
+ EditorGUILayout.BeginVertical();
+ m_ModelName = EditorGUILayout.TextField("鏉ユ簮鍚�", m_ModelName);
+ m_BuildName = EditorGUILayout.TextField("鐢熸垚鍚�", m_BuildName);
+ m_NpcType = (BuildNpcType)EditorGUILayout.EnumPopup("绫诲瀷:", m_NpcType);
+ EditorGUILayout.EndVertical();
EditorGUILayout.BeginHorizontal();
m_GenerateNoExist = GUILayout.Toggle(m_GenerateNoExist, "鍙敓鎴愪笉瀛樺湪鐨�");
m_GeneratePrefab = GUILayout.Toggle(m_GeneratePrefab, "Prefab");
@@ -55,7 +68,7 @@
if (GUILayout.Button("鍗曠嫭鐢熸垚", GUILayout.Height(24)))
{
- m_NpcResBuilder.BuildNpc(m_ModelName);
+ m_NpcResBuilder.BuildNpc(m_ModelName, m_BuildName, (int)m_NpcType);
}
if (GUILayout.Button("鐢熸垚鎵�鏈�", GUILayout.Height(24)))
diff --git a/Assets/Editor/Actor/NpcResourcesBuilder.cs b/Assets/Editor/Actor/NpcResourcesBuilder.cs
index 94adb29..5a98ad5 100644
--- a/Assets/Editor/Actor/NpcResourcesBuilder.cs
+++ b/Assets/Editor/Actor/NpcResourcesBuilder.cs
@@ -5,7 +5,7 @@
public class NpcResourcesBuilder : ResourcesBuilder
{
- public void BuildNpc(string modelName)
+ public void BuildNpc(string modelName, string outName = null, int type = -1)
{
if (modelName.Contains("A_Zs"))
{
@@ -13,7 +13,7 @@
}
BuildAnimationClip1(modelName);
- BuildAnimatorController(modelName);
+ BuildAnimatorController(modelName, outName, type);
var showConfigs = Config.Instance.GetAllValues<ActorShowConfig>();
NPCConfig _npcModel = null;
@@ -51,17 +51,17 @@
}
}
- BuildPrefab(modelName);
+ BuildPrefab(modelName, outName);
}
- public void BuildPrefab(string modelName)
+ public void BuildPrefab(string modelName, string outName)
{
if (!IsBuildPrefab)
{
return;
}
- BuildPrefab(modelName, modelName, InstanceResourcesLoader.raceSuffix);
+ BuildPrefab(modelName, modelName, InstanceResourcesLoader.raceSuffix, outName);
}
public void BuildAnimationClip1(string modelName)
@@ -74,20 +74,24 @@
BuildAnimationClip(modelName);
}
- public void BuildAnimatorController(string modelName)
+ public void BuildAnimatorController(string modelName, string outName = null, int type = -1)
{
if (!IsBuildAnimatorController)
{
return;
}
- if (modelName.Contains("B_Cw"))
+ if (type <= 0)
{
- BuildAnimatorController(modelName, "Temple_AnimatorController_Pet", "animatorBuildConfig");
+ BuildAnimatorController(modelName, "Temple_AnimatorController_Mob", "animatorBuildConfig", outName);
}
- else
+ else if (type == 1)
{
- BuildAnimatorController(modelName, "Temple_AnimatorController_Mob", "animatorBuildConfig");
+ BuildAnimatorController(modelName, "Temple_AnimatorController_Pet", "animatorBuildConfig", outName);
+ }
+ else if (type == 2)
+ {
+ BuildAnimatorController(modelName, "Temple_AnimatorController_Horse", "animatorBuildConfig", outName);
}
}
diff --git a/Assets/Editor/Actor/ResourcesBuilder.cs b/Assets/Editor/Actor/ResourcesBuilder.cs
index 1726403..f90b949 100644
--- a/Assets/Editor/Actor/ResourcesBuilder.cs
+++ b/Assets/Editor/Actor/ResourcesBuilder.cs
@@ -108,13 +108,18 @@
protected static List<MountPointInfo> m_MountPointInfoList = new List<MountPointInfo>();
- public void BuildPrefab(string path, string resName, string suffix)
+ public void BuildPrefab(string path, string resName, string suffix, string outName = null)
{
+ if (string.IsNullOrEmpty(outName))
+ {
+ outName = resName;
+ }
+
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, resName);
- string _assetPath = string.Format("{0}Mob/{1}{2}.prefab", ResourcesPath.ResourcesOutAssetPath, suffix, 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);
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);
@@ -243,10 +248,12 @@
}
// 鍔犺浇鐗规晥
- if (InstanceResourcesLoader.horseSuffix.Equals(suffix)
- || resName.Contains("B_Cw"))
+ if (outName.StartsWith("M")
+ || outName.StartsWith("N")
+ || outName.StartsWith("B_")
+ || outName.StartsWith("Zq"))
{
- HandlerModelEffect("horseEffectConfig", null, resName, ref _prefab);
+ HandlerModelEffect("horseEffectConfig", null, outName, ref _prefab);
}
else if (InstanceResourcesLoader.raceSuffix.Equals(suffix))
{
@@ -491,8 +498,13 @@
AssetDatabase.Refresh();
}
- public static void BuildAnimatorController(string resName, string templeName, string configName)
+ public static void BuildAnimatorController(string resName, string templeName, string configName, string outName = null)
{
+ if (string.IsNullOrEmpty(outName))
+ {
+ outName = resName;
+ }
+
string _absAssetPath = string.Format("{0}Mob/{1}", ResourcesPath.ResourcesOutPath, resName);
if (!Directory.Exists(_absAssetPath))
@@ -500,9 +512,9 @@
Directory.CreateDirectory(_absAssetPath);
}
- _absAssetPath = string.Format("{0}Mob/{1}/{2}{3}.controller", ResourcesPath.ResourcesOutPath, resName, AnimatorControllerLoader.controllerSuffix, resName);
+ _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, resName);
+ 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);
--
Gitblit v1.8.0