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 |   71 ++++++++++++++++++++++++++++-------
 1 files changed, 56 insertions(+), 15 deletions(-)

diff --git a/Core/ResModule/InstanceResourcesLoader.cs b/Core/ResModule/InstanceResourcesLoader.cs
index 4b04a5f..4b5ecb5 100644
--- a/Core/ResModule/InstanceResourcesLoader.cs
+++ b/Core/ResModule/InstanceResourcesLoader.cs
@@ -11,6 +11,7 @@
     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)
@@ -25,28 +26,52 @@
         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)
@@ -76,7 +101,7 @@
         return LoadMob(_assetBundleName, _assetName);
     }
 
-    public static GameObject LoadModelRes(int id)
+    public static GameObject LoadModelRes(int id, bool _ui = false)
     {
 
         ModelResConfig _m = Config.Instance.Get<ModelResConfig>(id);
@@ -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;
@@ -188,6 +218,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)
     {
         GameObject _gameObject = null;

--
Gitblit v1.8.0