From 79e244001c0e939c71de31944462fc226971de9c Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期二, 06 十一月 2018 17:38:07 +0800
Subject: [PATCH] Update
---
Core/ResModule/InstanceResourcesLoader.cs | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 60 insertions(+), 0 deletions(-)
diff --git a/Core/ResModule/InstanceResourcesLoader.cs b/Core/ResModule/InstanceResourcesLoader.cs
index 1a3d2f9..1f37b9f 100644
--- a/Core/ResModule/InstanceResourcesLoader.cs
+++ b/Core/ResModule/InstanceResourcesLoader.cs
@@ -62,6 +62,13 @@
GeneralDefine.ModeDefaultConfig[0][1]);
}
+ public static void AsyncLoadDefaultFuncNpc(Action<bool, UnityEngine.Object> callBack)
+ {
+ AsyncLoadNpc(GeneralDefine.ModeDefaultConfig[0][0],
+ GeneralDefine.ModeDefaultConfig[0][1],
+ callBack);
+ }
+
public static GameObject LoadDefaultHorse()
{
return LoadMob(GeneralDefine.ModeDefaultConfig[3][0],
@@ -334,4 +341,57 @@
AssetBundleUtility.Instance.Co_LoadAsset(bundleName, config.fxName, _callBack);
}
}
+
+ public static void AsyncLoadNpc(int npcID, Action<bool, UnityEngine.Object> callBack = null)
+ {
+ NPCConfig _m = Config.Instance.Get<NPCConfig>(npcID);
+
+ if (_m == null || _m.MODE.Equals("0"))
+ {
+ if (callBack != null)
+ {
+ callBack(false, 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;
+ }
+
+ AsyncLoadNpc(_assetBundleName, _assetName, callBack);
+ }
+
+ public static void AsyncLoadNpc(string assetBundleName, string assetName, Action<bool, UnityEngine.Object> callBack = null)
+ {
+ if (AssetSource.mobFromEditor)
+ {
+#if UNITY_EDITOR
+ string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
+ "Mob/",
+ assetName,
+ ".prefab");
+
+ var _p = AssetDatabase.LoadAssetAtPath<GameObject>(_resourcePath);
+ if (callBack != null)
+ {
+ callBack(true, _p);
+ }
+#endif
+ }
+ else
+ {
+ AssetBundleUtility.Instance.Co_LoadAsset(assetBundleName, assetName, callBack);
+ }
+ }
}
--
Gitblit v1.8.0