From fd30b92c4ae7ca9b8b6a8f212f6a937b5a8a5ed3 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期二, 30 十月 2018 11:40:06 +0800
Subject: [PATCH] 4420 【前端】【1.2.0】安卓系统返回键退出游戏不做平台限制,均生效

---
 Core/ResModule/InstanceResourcesLoader.cs |   81 ++++++++++++++++++++++++++++++----------
 1 files changed, 61 insertions(+), 20 deletions(-)

diff --git a/Core/ResModule/InstanceResourcesLoader.cs b/Core/ResModule/InstanceResourcesLoader.cs
index 84239c8..4b5ecb5 100644
--- a/Core/ResModule/InstanceResourcesLoader.cs
+++ b/Core/ResModule/InstanceResourcesLoader.cs
@@ -11,11 +11,12 @@
     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 = ConfigManager.Instance.GetTemplate<NPCConfig>(id);
+        NPCConfig _m = Config.Instance.Get<NPCConfig>(id);
 
         if (_m == null || string.IsNullOrEmpty(_m.MODE) || _m.MODE.Equals("0"))
         {
@@ -25,33 +26,57 @@
         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(GeneralConfig.Instance.ModeDefaultConfig[1][0],
-                       GeneralConfig.Instance.ModeDefaultConfig[1][1]);
+        return LoadMob(GeneralDefine.ModeDefaultConfig[1][0],
+                       GeneralDefine.ModeDefaultConfig[1][1]);
     }
 
     public static GameObject LoadDefaultFuncNPC()
     {
-        return LoadMob(GeneralConfig.Instance.ModeDefaultConfig[0][0],
-                       GeneralConfig.Instance.ModeDefaultConfig[0][1]);
+        return LoadMob(GeneralDefine.ModeDefaultConfig[0][0],
+                       GeneralDefine.ModeDefaultConfig[0][1]);
     }
 
     public static GameObject LoadDefaultHorse()
     {
-        return LoadMob(GeneralConfig.Instance.ModeDefaultConfig[3][0],
-                       GeneralConfig.Instance.ModeDefaultConfig[3][1]);
+        return LoadMob(GeneralDefine.ModeDefaultConfig[3][0],
+                       GeneralDefine.ModeDefaultConfig[3][1]);
     }
 
     public static GameObject LoadDefaultPet()
     {
-        return LoadMob(GeneralConfig.Instance.ModeDefaultConfig[2][0],
-                       GeneralConfig.Instance.ModeDefaultConfig[2][1]);
+        return LoadMob(GeneralDefine.ModeDefaultConfig[2][0],
+                       GeneralDefine.ModeDefaultConfig[2][1]);
     }
 
     public static GameObject LoadNpcPrefab(int npcID)
     {
-        NPCConfig _m = ConfigManager.Instance.GetTemplate<NPCConfig>(npcID);
+        NPCConfig _m = Config.Instance.Get<NPCConfig>(npcID);
 
         if (_m == null || _m.MODE.Equals("0"))
         {
@@ -76,10 +101,10 @@
         return LoadMob(_assetBundleName, _assetName);
     }
 
-    public static GameObject LoadModelRes(int id)
+    public static GameObject LoadModelRes(int id, bool _ui = false)
     {
 
-        ModelResConfig _m = ConfigManager.Instance.GetTemplate<ModelResConfig>(id);
+        ModelResConfig _m = Config.Instance.Get<ModelResConfig>(id);
 
         if (_m == null)
         {
@@ -95,26 +120,31 @@
 
         if (_m.Type == (int)E_ModelResType.Suit)
         {
-            return LoadModelPrefab(raceSuffix, _name);
+            return LoadModelPrefab(raceSuffix, _name, _ui);
         }
         else if (_m.Type == (int)E_ModelResType.Horse)
         {
-            return LoadModelPrefab(horseSuffix, _name);
+            return LoadModelPrefab(horseSuffix, _name, _ui);
         }
         else if (_m.Type == (int)E_ModelResType.Wing)
         {
-            return LoadModelPrefab(wingSuffix, _name);
+            return LoadModelPrefab(wingSuffix, _name, _ui);
         }
         else if (_m.Type == (int)E_ModelResType.Weapon)
         {
-            return LoadModelPrefab(weaponSuffix, _name);
+            return LoadModelPrefab(weaponSuffix, _name, _ui);
         }
         else if (_m.Type == (int)E_ModelResType.Secondary)
         {
-            return LoadModelPrefab(secondarySuffix, _name);
+            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)
     {
@@ -174,7 +204,7 @@
         }
         else
         {
-            string _bundleName = StringUtility.Contact(ResourcesPath.MOB_FOLDER_NAME, "prefab_race_" + name);
+            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;
@@ -186,6 +216,17 @@
         }
 
         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)
@@ -228,7 +269,7 @@
     {
         GameObject _gameObject = null;
 
-        EffectConfig _effectModel = ConfigManager.Instance.GetTemplate<EffectConfig>(id);
+        EffectConfig _effectModel = Config.Instance.Get<EffectConfig>(id);
 
         if (_effectModel == null)
         {
@@ -266,7 +307,7 @@
     public static void LoadEffectAsync(int _id, Action<bool, UnityEngine.Object> _callBack)
     {
         GameObject gameObject = null;
-        var config = ConfigManager.Instance.GetTemplate<EffectConfig>(_id);
+        var config = Config.Instance.Get<EffectConfig>(_id);
         if (config == null)
         {
             return;

--
Gitblit v1.8.0