From 570b476fc4c8140637e4919b7b6f94d27e8d2a44 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期五, 19 十月 2018 11:46:22 +0800
Subject: [PATCH] 2181 【主干】【1.1.0】潜力加点不消失
---
Core/ResModule/InstanceResourcesLoader.cs | 643 +++++++++++++++++++++++++++++++---------------------------
1 files changed, 342 insertions(+), 301 deletions(-)
diff --git a/Core/ResModule/InstanceResourcesLoader.cs b/Core/ResModule/InstanceResourcesLoader.cs
index 6ae21a1..4b5ecb5 100644
--- a/Core/ResModule/InstanceResourcesLoader.cs
+++ b/Core/ResModule/InstanceResourcesLoader.cs
@@ -1,301 +1,342 @@
-锘縰sing UnityEngine;
-using TableConfig;
-using System;
-#if UNITY_EDITOR
-using UnityEditor;
-#endif
-
-public class InstanceResourcesLoader
-{
- public static readonly string raceSuffix = "Prefab_Race_";
- public static readonly string horseSuffix = "Prefab_Horse_";
- public static readonly string weaponSuffix = "Prefab_Weapon_";
- public static readonly string secondarySuffix = "Prefab_Secondary_";
- public static readonly string wingSuffix = "Prefab_Wing_";
-
- public static GameObject LoadNpc(int id)
- {
- NPCConfig _m = ConfigManager.Instance.GetTemplate<NPCConfig>(id);
-
- if (_m == null || string.IsNullOrEmpty(_m.MODE) || _m.MODE.Equals("0"))
- {
- return null;
- }
-
- return LoadModelPrefab(raceSuffix, _m.MODE);
- }
-
- public static GameObject LoadDefaultFightNPC()
- {
- return LoadMob(GeneralConfig.Instance.ModeDefaultConfig[1][0],
- GeneralConfig.Instance.ModeDefaultConfig[1][1]);
- }
-
- public static GameObject LoadDefaultFuncNPC()
- {
- return LoadMob(GeneralConfig.Instance.ModeDefaultConfig[0][0],
- GeneralConfig.Instance.ModeDefaultConfig[0][1]);
- }
-
- public static GameObject LoadDefaultHorse()
- {
- return LoadMob(GeneralConfig.Instance.ModeDefaultConfig[3][0],
- GeneralConfig.Instance.ModeDefaultConfig[3][1]);
- }
-
- public static GameObject LoadDefaultPet()
- {
- return LoadMob(GeneralConfig.Instance.ModeDefaultConfig[2][0],
- GeneralConfig.Instance.ModeDefaultConfig[2][1]);
- }
-
- public static GameObject LoadNpcPrefab(int npcID)
- {
- NPCConfig _m = ConfigManager.Instance.GetTemplate<NPCConfig>(npcID);
-
- if (_m == null || _m.MODE.Equals("0"))
- {
- return null;
- }
-
- string _assetName;
- string _assetBundleName;
-
- if (GAMgr.Instance.s_NpcID2Assetname.TryGetValue(npcID, out _assetName))
- {
- _assetBundleName = GAMgr.Instance.s_NpcID2BundleName[npcID];
- }
- else
- {
- _assetName = StringUtility.Contact(raceSuffix, _m.MODE);
- _assetBundleName = StringUtility.Contact(ResourcesPath.MOB_FOLDER_NAME, _assetName);
- GAMgr.Instance.s_NpcID2Assetname[npcID] = _assetName;
- GAMgr.Instance.s_NpcID2BundleName[npcID] = _assetBundleName;
- }
-
- return LoadMob(_assetBundleName, _assetName);
- }
-
- public static GameObject LoadModelRes(int id)
- {
-
- ModelResConfig _m = ConfigManager.Instance.GetTemplate<ModelResConfig>(id);
-
- if (_m == null)
- {
- return null;
- }
-
- string _name = _m.ResourcesName;
- int _index = _name.IndexOf('/');
- if (_index != -1)
- {
- _name = _name.Substring(_index + 1);
- }
-
- if (_m.Type == (int)E_ModelResType.Suit)
- {
- return LoadModelPrefab(raceSuffix, _name);
- }
- else if (_m.Type == (int)E_ModelResType.Horse)
- {
- return LoadModelPrefab(horseSuffix, _name);
- }
- else if (_m.Type == (int)E_ModelResType.Wing)
- {
- return LoadModelPrefab(wingSuffix, _name);
- }
- else if (_m.Type == (int)E_ModelResType.Weapon)
- {
- return LoadModelPrefab(weaponSuffix, _name);
- }
- else if (_m.Type == (int)E_ModelResType.Secondary)
- {
- return LoadModelPrefab(secondarySuffix, _name);
- }
- return null;
- }
-
- public static void LoadCreateRole(int job, Action<bool, UnityEngine.Object> _callBack)
- {
- string _name = "Zs";
- switch (job)
- {
- case 1:
- _name = "Zs";
- break;
- case 2:
- _name = "Fs";
- break;
- case 3:
- _name = "Zs";
- break;
- case 4:
- _name = "Zs";
- break;
- }
-
- if (AssetSource.mobFromEditor)
- {
-#if UNITY_EDITOR
- string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
- "Mob/CreateRole/",
- _name,
- ".prefab");
-
- var gameObject = AssetDatabase.LoadAssetAtPath<GameObject>(_resourcePath);
-
- if (_callBack != null)
- {
- _callBack(true, gameObject);
- }
-#endif
- }
- else
- {
- var assetInfo = new AssetInfo("mob/createrole", _name);
- AssetBundleUtility.Instance.Co_LoadAsset(assetInfo, _callBack);
- }
- }
-
- private static GameObject LoadModelPrefab(string _suffix, string name)
- {
- GameObject _gameObject = null;
- if (AssetSource.mobFromEditor)
- {
-#if UNITY_EDITOR
- string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
- "Mob/",
- _suffix + name,
- ".prefab");
-
- _gameObject = AssetDatabase.LoadAssetAtPath<GameObject>(_resourcePath);
-#endif
- }
- else
- {
- string _bundleName = StringUtility.Contact(ResourcesPath.MOB_FOLDER_NAME, "prefab_race_" + name);
- string _assetName = _suffix + name;
- AssetInfo _assetInfo = new AssetInfo(_bundleName, _assetName);
- _gameObject = AssetBundleUtility.Instance.Sync_LoadAsset(_assetInfo) as GameObject;
- }
-
- if (_gameObject == null)
- {
- DesignDebug.LogErrorFormat("InstanceResourcesLoader.LoadModel() => 鍔犺浇涓嶅埌璧勬簮: {0} ", name);
- }
-
- return _gameObject;
- }
-
- public static GameObject LoadMob(string assetBundleName, string assetName)
- {
- GameObject _gameObject = null;
- if (AssetSource.mobFromEditor)
- {
-#if UNITY_EDITOR
- string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
- "Mob/",
- assetName,
- ".prefab");
-
- _gameObject = AssetDatabase.LoadAssetAtPath<GameObject>(_resourcePath);
-#endif
- }
- else
- {
- _gameObject = AssetBundleUtility.Instance.Sync_LoadAsset(assetBundleName, assetName) as GameObject;
- }
-
- if (_gameObject == null)
- {
- DesignDebug.LogErrorFormat("InstanceResourcesLoader.LoadModel() => 鍔犺浇涓嶅埌璧勬簮: {0}/{1} ", assetBundleName, assetName);
- }
-
- return _gameObject;
- }
-
- public static void UnloadAsset(string bundleName, string assetName)
- {
- if (!AssetSource.mobFromEditor)
- {
- AssetBundleUtility.Instance.UnloadAsset(bundleName, assetName);
- AssetBundleUtility.Instance.UnloadAssetBundle(bundleName, true, false);
- }
- }
-
- public static GameObject LoadEffect(int id)
- {
- GameObject _gameObject = null;
-
- EffectConfig _effectModel = ConfigManager.Instance.GetTemplate<EffectConfig>(id);
-
- if (_effectModel == null)
- {
- return null;
- }
-
- if (AssetSource.effectFromEditor)
- {
-#if UNITY_EDITOR
- string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
- "Effect/",
- _effectModel.packageName,
- "/",
- _effectModel.fxName,
- ".prefab");
- _gameObject = AssetDatabase.LoadAssetAtPath<GameObject>(_resourcePath);
-#endif
- }
- else
- {
- string _bundleName = StringUtility.Contact(ResourcesPath.EFFECT_Folder_Name, _effectModel.packageName);
- AssetInfo _assetInfo = new AssetInfo(_bundleName, _effectModel.fxName);
- _gameObject = AssetBundleUtility.Instance.Sync_LoadAsset(_assetInfo) as GameObject;
- }
-
- if (_gameObject == null)
- {
- DesignDebug.LogErrorFormat("InstanceResourcesLoader.LoadSkillEffect() => 鍔犺浇涓嶅埌璧勬簮: {0}", _effectModel.fxName);
- }
-
- return _gameObject;
- }
-
-
- public static void LoadEffectAsync(int _id, Action<bool, UnityEngine.Object> _callBack)
- {
- GameObject gameObject = null;
- var config = ConfigManager.Instance.GetTemplate<EffectConfig>(_id);
- if (config == null)
- {
- return;
- }
-
- if (AssetSource.effectFromEditor)
- {
-#if UNITY_EDITOR
- string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
- "Effect/",
- config.packageName,
- "/",
- config.fxName,
- ".prefab");
- gameObject = AssetDatabase.LoadAssetAtPath<GameObject>(_resourcePath);
-
- if (_callBack != null)
- {
- _callBack(gameObject != null, gameObject);
- }
-#endif
- }
- else
- {
- var bundleName = StringUtility.Contact(ResourcesPath.EFFECT_Folder_Name, config.packageName);
- var assetInfo = new AssetInfo(bundleName, config.fxName);
- AssetBundleUtility.Instance.Co_LoadAsset(assetInfo, _callBack);
- }
-
- }
-
-}
+锘縰sing UnityEngine;
+using TableConfig;
+using System;
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+
+public class InstanceResourcesLoader
+{
+ public static readonly string raceSuffix = "Prefab_Race_";
+ public static readonly string horseSuffix = "Prefab_Horse_";
+ public static readonly string weaponSuffix = "Prefab_Weapon_";
+ public static readonly string secondarySuffix = "Prefab_Secondary_";
+ public static readonly string handSuffix = "Prefab_Hand_";
+ public static readonly string wingSuffix = "Prefab_Wing_";
+
+ public static GameObject LoadNpc(int id)
+ {
+ NPCConfig _m = Config.Instance.Get<NPCConfig>(id);
+
+ if (_m == null || string.IsNullOrEmpty(_m.MODE) || _m.MODE.Equals("0"))
+ {
+ return null;
+ }
+
+ return LoadModelPrefab(raceSuffix, _m.MODE);
+ }
+
+ public static RuntimeAnimatorController LoadDefaultMobAnimatorController_Fight()
+ {
+ return AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix,
+ GeneralDefine.ModeDefaultConfig[1][1]);
+ }
+
+ public static RuntimeAnimatorController LoadDefaultMobAnimatorController_Func()
+ {
+ return AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix,
+ GeneralDefine.ModeDefaultConfig[0][1]);
+ }
+
+ public static RuntimeAnimatorController LoadDefaultMobAnimatorController_Horse()
+ {
+ return AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix,
+ GeneralDefine.ModeDefaultConfig[3][1]);
+ }
+
+ public static RuntimeAnimatorController LoadDefaultMobAnimatorController_Pet()
+ {
+ return AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix,
+ GeneralDefine.ModeDefaultConfig[2][1]);
+ }
+
+ public static GameObject LoadDefaultFightNPC()
+ {
+ return LoadMob(GeneralDefine.ModeDefaultConfig[1][0],
+ GeneralDefine.ModeDefaultConfig[1][1]);
+ }
+
+ public static GameObject LoadDefaultFuncNPC()
+ {
+ return LoadMob(GeneralDefine.ModeDefaultConfig[0][0],
+ GeneralDefine.ModeDefaultConfig[0][1]);
+ }
+
+ public static GameObject LoadDefaultHorse()
+ {
+ return LoadMob(GeneralDefine.ModeDefaultConfig[3][0],
+ GeneralDefine.ModeDefaultConfig[3][1]);
+ }
+
+ public static GameObject LoadDefaultPet()
+ {
+ return LoadMob(GeneralDefine.ModeDefaultConfig[2][0],
+ GeneralDefine.ModeDefaultConfig[2][1]);
+ }
+
+ public static GameObject LoadNpcPrefab(int npcID)
+ {
+ NPCConfig _m = Config.Instance.Get<NPCConfig>(npcID);
+
+ if (_m == null || _m.MODE.Equals("0"))
+ {
+ return null;
+ }
+
+ string _assetName;
+ string _assetBundleName;
+
+ if (GAMgr.Instance.s_NpcID2Assetname.TryGetValue(npcID, out _assetName))
+ {
+ _assetBundleName = GAMgr.Instance.s_NpcID2BundleName[npcID];
+ }
+ else
+ {
+ _assetName = StringUtility.Contact(raceSuffix, _m.MODE);
+ _assetBundleName = StringUtility.Contact(ResourcesPath.MOB_FOLDER_NAME, _assetName);
+ GAMgr.Instance.s_NpcID2Assetname[npcID] = _assetName;
+ GAMgr.Instance.s_NpcID2BundleName[npcID] = _assetBundleName;
+ }
+
+ return LoadMob(_assetBundleName, _assetName);
+ }
+
+ public static GameObject LoadModelRes(int id, bool _ui = false)
+ {
+
+ ModelResConfig _m = Config.Instance.Get<ModelResConfig>(id);
+
+ if (_m == null)
+ {
+ return null;
+ }
+
+ string _name = _m.ResourcesName;
+ int _index = _name.IndexOf('/');
+ if (_index != -1)
+ {
+ _name = _name.Substring(_index + 1);
+ }
+
+ if (_m.Type == (int)E_ModelResType.Suit)
+ {
+ return LoadModelPrefab(raceSuffix, _name, _ui);
+ }
+ else if (_m.Type == (int)E_ModelResType.Horse)
+ {
+ return LoadModelPrefab(horseSuffix, _name, _ui);
+ }
+ else if (_m.Type == (int)E_ModelResType.Wing)
+ {
+ return LoadModelPrefab(wingSuffix, _name, _ui);
+ }
+ else if (_m.Type == (int)E_ModelResType.Weapon)
+ {
+ return LoadModelPrefab(weaponSuffix, _name, _ui);
+ }
+ else if (_m.Type == (int)E_ModelResType.Secondary)
+ {
+ return LoadModelPrefab(secondarySuffix, _name, _ui);
+ }
+ else if (_m.Type == (int)E_ModelResType.Hand)
+ {
+ return LoadModelPrefab(handSuffix, _name, _ui);
+ }
+ return null;
+ }
+
+
+ public static void LoadCreateRole(int job, Action<bool, UnityEngine.Object> _callBack)
+ {
+ string _name = "Zs";
+ switch (job)
+ {
+ case 1:
+ _name = "Zs";
+ break;
+ case 2:
+ _name = "Fs";
+ break;
+ case 3:
+ _name = "Zs";
+ break;
+ case 4:
+ _name = "Zs";
+ break;
+ }
+
+ if (AssetSource.mobFromEditor)
+ {
+#if UNITY_EDITOR
+ string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
+ "Mob/CreateRole/",
+ _name,
+ ".prefab");
+
+ var gameObject = AssetDatabase.LoadAssetAtPath<GameObject>(_resourcePath);
+
+ if (_callBack != null)
+ {
+ _callBack(true, gameObject);
+ }
+#endif
+ }
+ else
+ {
+ var assetInfo = new AssetInfo("mob/createrole", _name);
+ AssetBundleUtility.Instance.Co_LoadAsset(assetInfo, _callBack);
+ }
+ }
+
+ private static GameObject LoadModelPrefab(string _suffix, string name)
+ {
+ GameObject _gameObject = null;
+ if (AssetSource.mobFromEditor)
+ {
+#if UNITY_EDITOR
+ string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
+ "Mob/",
+ _suffix + name,
+ ".prefab");
+
+ _gameObject = AssetDatabase.LoadAssetAtPath<GameObject>(_resourcePath);
+#endif
+ }
+ else
+ {
+ string _bundleName = StringUtility.Contact(ResourcesPath.MOB_FOLDER_NAME, "prefab_race_" + name.Replace("_UI", ""));
+ string _assetName = _suffix + name;
+ AssetInfo _assetInfo = new AssetInfo(_bundleName, _assetName);
+ _gameObject = AssetBundleUtility.Instance.Sync_LoadAsset(_assetInfo) as GameObject;
+ }
+
+ if (_gameObject == null)
+ {
+ DebugEx.LogErrorFormat("InstanceResourcesLoader.LoadModel() => 鍔犺浇涓嶅埌璧勬簮: {0} ", name);
+ }
+
+ return _gameObject;
+ }
+
+ private static GameObject LoadModelPrefab(string _suffix, string name, bool _ui)
+ {
+ var prefab = LoadModelPrefab(_suffix, _ui ? name + "_UI" : name);
+ if (prefab == null)
+ {
+ prefab = LoadModelPrefab(_suffix, name);
+ }
+
+ return prefab;
+ }
+
+ public static GameObject LoadMob(string assetBundleName, string assetName)
+ {
+ GameObject _gameObject = null;
+ if (AssetSource.mobFromEditor)
+ {
+#if UNITY_EDITOR
+ string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
+ "Mob/",
+ assetName,
+ ".prefab");
+
+ _gameObject = AssetDatabase.LoadAssetAtPath<GameObject>(_resourcePath);
+#endif
+ }
+ else
+ {
+ _gameObject = AssetBundleUtility.Instance.Sync_LoadAsset(assetBundleName, assetName) as GameObject;
+ }
+
+ if (_gameObject == null)
+ {
+ DebugEx.LogErrorFormat("InstanceResourcesLoader.LoadModel() => 鍔犺浇涓嶅埌璧勬簮: {0}/{1} ", assetBundleName, assetName);
+ }
+
+ return _gameObject;
+ }
+
+ public static void UnloadAsset(string bundleName, string assetName)
+ {
+ if (!AssetSource.mobFromEditor)
+ {
+ AssetBundleUtility.Instance.UnloadAsset(bundleName, assetName);
+ AssetBundleUtility.Instance.UnloadAssetBundle(bundleName, true, false);
+ }
+ }
+
+ public static GameObject LoadEffect(int id)
+ {
+ GameObject _gameObject = null;
+
+ EffectConfig _effectModel = Config.Instance.Get<EffectConfig>(id);
+
+ if (_effectModel == null)
+ {
+ return null;
+ }
+
+ if (AssetSource.effectFromEditor)
+ {
+#if UNITY_EDITOR
+ string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
+ "Effect/",
+ _effectModel.packageName,
+ "/",
+ _effectModel.fxName,
+ ".prefab");
+ _gameObject = AssetDatabase.LoadAssetAtPath<GameObject>(_resourcePath);
+#endif
+ }
+ else
+ {
+ string _bundleName = StringUtility.Contact(ResourcesPath.EFFECT_Folder_Name, _effectModel.packageName);
+ AssetInfo _assetInfo = new AssetInfo(_bundleName, _effectModel.fxName);
+ _gameObject = AssetBundleUtility.Instance.Sync_LoadAsset(_assetInfo) as GameObject;
+ }
+
+ if (_gameObject == null)
+ {
+ DebugEx.LogErrorFormat("InstanceResourcesLoader.LoadSkillEffect() => 鍔犺浇涓嶅埌璧勬簮: {0}", _effectModel.fxName);
+ }
+
+ return _gameObject;
+ }
+
+
+ public static void LoadEffectAsync(int _id, Action<bool, UnityEngine.Object> _callBack)
+ {
+ GameObject gameObject = null;
+ var config = Config.Instance.Get<EffectConfig>(_id);
+ if (config == null)
+ {
+ return;
+ }
+
+ if (AssetSource.effectFromEditor)
+ {
+#if UNITY_EDITOR
+ string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
+ "Effect/",
+ config.packageName,
+ "/",
+ config.fxName,
+ ".prefab");
+ gameObject = AssetDatabase.LoadAssetAtPath<GameObject>(_resourcePath);
+
+ if (_callBack != null)
+ {
+ _callBack(gameObject != null, gameObject);
+ }
+#endif
+ }
+ else
+ {
+ var bundleName = StringUtility.Contact(ResourcesPath.EFFECT_Folder_Name, config.packageName);
+ var assetInfo = new AssetInfo(bundleName, config.fxName);
+ AssetBundleUtility.Instance.Co_LoadAsset(assetInfo, _callBack);
+ }
+
+ }
+
+}
--
Gitblit v1.8.0