From d597f340f934866e69a460bacb954a1b38057742 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 15 十一月 2018 10:53:44 +0800
Subject: [PATCH] 4792 (只在master)原随包的配置全部支持热更新。

---
 Core/ResModule/BuiltInLoader.cs |   62 +++++++++++++++++++++++++++---
 1 files changed, 55 insertions(+), 7 deletions(-)

diff --git a/Core/ResModule/BuiltInLoader.cs b/Core/ResModule/BuiltInLoader.cs
index 6008723..6c87dc9 100644
--- a/Core/ResModule/BuiltInLoader.cs
+++ b/Core/ResModule/BuiltInLoader.cs
@@ -14,13 +14,13 @@
         if (AssetSource.builtInFromEditor)
         {
 #if UNITY_EDITOR
-            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/UI/Sprites/", name, SPRITE_EXTENSION);
+            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/Sprites/", name, SPRITE_EXTENSION);
             sprite = UnityEditor.AssetDatabase.LoadAssetAtPath<Sprite>(path);
 #endif
         }
         else
         {
-            var assetInfo = new AssetInfo("builtin/sprite", name);
+            var assetInfo = new AssetInfo("builtin/sprites", name);
             sprite = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo, typeof(Sprite)) as Sprite;
         }
 
@@ -38,7 +38,7 @@
         if (AssetSource.builtInFromEditor)
         {
 #if UNITY_EDITOR
-            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/UI/Prefabs/", name, PREFAB_EXTENSION);
+            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/Prefabs/", name, PREFAB_EXTENSION);
             prefab = UnityEditor.AssetDatabase.LoadAssetAtPath<GameObject>(path);
 #endif
         }
@@ -70,13 +70,13 @@
         if (AssetSource.builtInFromEditor)
         {
 #if UNITY_EDITOR
-            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/Music/", name, AUDIO_EXTENSION);
+            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/Musics/", name, AUDIO_EXTENSION);
             audioClip = UnityEditor.AssetDatabase.LoadAssetAtPath<AudioClip>(path);
 #endif
         }
         else
         {
-            var assetInfo = new AssetInfo("builtin/music", name);
+            var assetInfo = new AssetInfo("builtin/musics", name);
             audioClip = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo) as AudioClip;
         }
 
@@ -88,6 +88,54 @@
         return audioClip;
     }
 
+    public static AnimationClip LoadAnimationClip(string name)
+    {
+        AnimationClip clip = null;
+        if (AssetSource.builtInFromEditor)
+        {
+#if UNITY_EDITOR
+            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/AnimationClips/", name, ".anim");
+            clip = UnityEditor.AssetDatabase.LoadAssetAtPath<AnimationClip>(path);
+#endif
+        }
+        else
+        {
+            var assetInfo = new AssetInfo("builtin/animationclips", name);
+            clip = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo) as AnimationClip;
+        }
+
+        if (clip == null)
+        {
+            DebugEx.LogErrorFormat("BuiltInLoader.LoadAnimationClip() => 鍔犺浇涓嶅埌璧勬簮: {0}.", name);
+        }
+
+        return clip;
+    }
+
+    public static Material LoadMaterial(string name)
+    {
+        Material material = null;
+        if (AssetSource.builtInFromEditor)
+        {
+#if UNITY_EDITOR
+            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/Materials/", name, ".mat");
+            material = UnityEditor.AssetDatabase.LoadAssetAtPath<Material>(path);
+#endif
+        }
+        else
+        {
+            var assetInfo = new AssetInfo("builtin/materials", name);
+            material = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo) as Material;
+        }
+
+        if (material == null)
+        {
+            DebugEx.LogErrorFormat("BuiltInLoader.LoadMaterial() => 鍔犺浇涓嶅埌璧勬簮: {0}.", name);
+        }
+
+        return material;
+    }
+
     public static T LoadScriptableObject<T>(string name) where T : ScriptableObject
     {
 
@@ -96,14 +144,14 @@
         {
 #if UNITY_EDITOR
             var resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
-                                                   "BuiltIn/ScriptableObject/", name, ".asset");
+                                                   "BuiltIn/ScriptableObjects/", name, ".asset");
 
             config = UnityEditor.AssetDatabase.LoadAssetAtPath<T>(resourcePath);
 #endif
         }
         else
         {
-            var assetInfo = new AssetInfo("builtin/scriptableobject", name);
+            var assetInfo = new AssetInfo("builtin/scriptableobjects", name);
             config = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo) as T;
         }
 

--
Gitblit v1.8.0