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

---
 Core/GameEngine/Model/ConfigManager.cs                |   74 +++++++++---------------
 Fight/Actor/Skill/XRayShadow.cs                       |    2 
 Fight/PreFightMission.cs                              |    2 
 UI/Common/PriorityWindowConfig.cs                     |    2 
 Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs |    1 
 Core/GameEngine/Login/Launch.cs                       |   15 +++-
 UI/Common/FunctionButtonConfig.cs                     |    2 
 Core/ResModule/BuiltInLoader.cs                       |   14 ++--
 Utility/Constants.cs                                  |    8 +-
 UI/Common/EnableButtonConfig.cs                       |    2 
 Fight/GameActor/GActorPlayerBase.cs                   |    2 
 System/KnapSack/Logic/WindowPosCnfig.cs               |    2 
 12 files changed, 56 insertions(+), 70 deletions(-)

diff --git a/Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs b/Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
index 03f06ea..b0cd43b 100644
--- a/Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
+++ b/Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
@@ -557,6 +557,7 @@
             BuiltInResourceSetting.SetLaunchBackGround(publishers.Split('|')[0], (BuildTarget)m_UserData.m_BuildTarget);
             BuiltInResourceSetting.SetLoginBackGround(publishers.Split('|')[0], (BuildTarget)m_UserData.m_BuildTarget);
             BuiltInResourceSetting.SetLoginLogo(publishers.Split('|')[0], (BuildTarget)m_UserData.m_BuildTarget);
+            UpdateBuiltInSetting.SetAllLuaAssetBundleName();
             ExcuteBuildAsset("builtin");
         }
 
diff --git a/Core/GameEngine/Login/Launch.cs b/Core/GameEngine/Login/Launch.cs
index 1f11573..eb1541f 100644
--- a/Core/GameEngine/Login/Launch.cs
+++ b/Core/GameEngine/Login/Launch.cs
@@ -58,12 +58,19 @@
         {
             SDKUtility.Instance.CopyOneAsset("builtin_assetbundle.7z");
             SDKUtility.Instance.CopyOneAsset("builtin_assetbundle.manifest.7z");
-            SDKUtility.Instance.CopyOneAsset("builtin/music.7z");
-            SDKUtility.Instance.CopyOneAsset("builtin/music.manifest.7z");
+            SDKUtility.Instance.CopyOneAsset("builtin/musics.7z");
+            SDKUtility.Instance.CopyOneAsset("builtin/musics.manifest.7z");
             SDKUtility.Instance.CopyOneAsset("builtin/prefabs.7z");
             SDKUtility.Instance.CopyOneAsset("builtin/prefabs.manifest.7z");
-            SDKUtility.Instance.CopyOneAsset("builtin/sprite.7z");
-            SDKUtility.Instance.CopyOneAsset("builtin/sprite.manifest.7z");
+            SDKUtility.Instance.CopyOneAsset("builtin/sprites.7z");
+            SDKUtility.Instance.CopyOneAsset("builtin/sprites.manifest.7z");
+            SDKUtility.Instance.CopyOneAsset("builtin/animationclips.7z");
+            SDKUtility.Instance.CopyOneAsset("builtin/animationclips.manifest.7z");
+            SDKUtility.Instance.CopyOneAsset("builtin/materials.7z");
+            SDKUtility.Instance.CopyOneAsset("builtin/materials.manifest.7z");
+            SDKUtility.Instance.CopyOneAsset("builtin/scriptableobjects.7z");
+            SDKUtility.Instance.CopyOneAsset("builtin/scriptableobjects.manifest.7z");
+
             SDKUtility.Instance.CopyOneAsset("config/Contact.txt.7z");
             SDKUtility.Instance.CopyOneAsset("config/HelpInfo.txt.7z");
             SDKUtility.Instance.CopyOneAsset("config/PriorBundle.txt.7z");
diff --git a/Core/GameEngine/Model/ConfigManager.cs b/Core/GameEngine/Model/ConfigManager.cs
index c434624..864add1 100644
--- a/Core/GameEngine/Model/ConfigManager.cs
+++ b/Core/GameEngine/Model/ConfigManager.cs
@@ -15,8 +15,7 @@
     bool isPlaying = true;
 
     bool m_Inited = false;
-    public bool inited
-    {
+    public bool inited {
         get { return m_Inited; }
         private set { m_Inited = value; }
     }
@@ -31,22 +30,22 @@
 
     public void LoadPriorBundleConfig()
     {
-        StartSyncTask<PriorBundleConfig>(AssetPath.Resource);
+        StartSyncTask<PriorBundleConfig>();
     }
 
     public void PreLoadConfigs()
     {
-        StartSyncTask<PriorBundleConfig>(AssetPath.Resource);
-        StartSyncTask<PriorLanguageConfig>(AssetPath.Resource);
-        StartSyncTask<ContactConfig>(AssetPath.Resource);
-        StartSyncTask<HelpInfoConfig>(AssetPath.Resource);
+        StartSyncTask<PriorBundleConfig>();
+        StartSyncTask<PriorLanguageConfig>();
+        StartSyncTask<ContactConfig>();
+        StartSyncTask<HelpInfoConfig>();
     }
 
     List<ConfigTask> configTasks = new List<ConfigTask>();
 
     public IEnumerator Co_LoadConfigs()
     {
-        StartSyncTask<LoginSeverListConfig>(AssetSource.refdataFromEditor ? AssetPath.ResourceOut : AssetPath.External);
+        StartSyncTask<LoginSeverListConfig>();
         AddAsyncTask<IconConfig>();
         AddAsyncTask<ItemConfig>();
         AddAsyncTask<SkillConfig>();
@@ -255,13 +254,13 @@
 
     public void SyncLoadConfigs()
     {
-        StartSyncTask<NPCConfig>(AssetPath.ResourceOut);
-        StartSyncTask<ModelResConfig>(AssetPath.ResourceOut);
-        StartSyncTask<ActorShowConfig>(AssetPath.ResourceOut);
-        StartSyncTask<IconConfig>(AssetPath.ResourceOut);
-        StartSyncTask<SysInfoConfig>(AssetPath.ResourceOut);
-        StartSyncTask<LanguageConfig>(AssetPath.ResourceOut);
-        StartSyncTask<RealmConfig>(AssetPath.ResourceOut);
+        StartSyncTask<NPCConfig>();
+        StartSyncTask<ModelResConfig>();
+        StartSyncTask<ActorShowConfig>();
+        StartSyncTask<IconConfig>();
+        StartSyncTask<SysInfoConfig>();
+        StartSyncTask<LanguageConfig>();
+        StartSyncTask<RealmConfig>();
     }
 
     public bool AllCompleted()
@@ -392,7 +391,7 @@
             path = AssetVersionUtility.GetAssetFilePath(StringUtility.Contact("config/", fileName, ".txt"));
         }
 
-        var task = new ConfigTask(typeof(T), AssetSource.refdataFromEditor ? AssetPath.ResourceOut : AssetPath.External, path);
+        var task = new ConfigTask(typeof(T), path);
         Action<ConfigTask> launch = (ConfigTask _task) => { ReadFile(_task, OnEndReadFile<T>); };
         task.launch = launch;
         configTasks.Add(task);
@@ -517,43 +516,26 @@
         }
     }
 
-    private void StartSyncTask<T>(AssetPath _assetPath) where T : ConfigBase, new()
+    private void StartSyncTask<T>() where T : ConfigBase, new()
     {
         var typeName = typeof(T).Name;
         var fileName = typeName.Substring(0, typeName.Length - 6);
-        string[] lines = null;
         var path = string.Empty;
 
-        switch (_assetPath)
+        if (AssetSource.refdataFromEditor)
         {
-            case AssetPath.Resource:
-                path = AssetVersionUtility.GetBuiltInAssetFilePath(StringUtility.Contact("config/", fileName, ".txt"));
-                if (File.Exists(path))
-                {
-                    lines = File.ReadAllLines(path, Encoding.UTF8);
-                }
-                else
-                {
-                    path = StringUtility.Contact("Config/", fileName);
-                    var textAsset = Resources.Load<TextAsset>(path);
-                    lines = textAsset.text.Split(new string[] { "\r\n" }, StringSplitOptions.None);
-                }
-                break;
-            case AssetPath.ResourceOut:
-                path = StringUtility.Contact(ResourcesPath.CONFIG_FODLER, "/", fileName, ".txt");
-                lines = File.ReadAllLines(path, Encoding.UTF8);
-                break;
-            case AssetPath.External:
-                path = AssetVersionUtility.GetAssetFilePath(StringUtility.Contact("config/", fileName, ".txt"));
-                lines = File.ReadAllLines(path, Encoding.UTF8);
-                break;
+            path = ResourcesPath.CONFIG_FODLER + "/" + fileName + ".txt";
+        }
+        else
+        {
+            path = AssetVersionUtility.GetAssetFilePath(StringUtility.Contact("config/", fileName, ".txt"));
         }
 
-        var task = new ConfigTask(typeof(T), _assetPath, path);
-        task.contentLines = lines;
-        if (lines != null && lines.Length > 3)
+        var task = new ConfigTask(typeof(T), path);
+        task.contentLines = File.ReadAllLines(path, Encoding.UTF8);
+        if (task.contentLines != null && task.contentLines.Length > 3)
         {
-            var length = Mathf.Max(lines.Length - 3, 0);
+            var length = Mathf.Max(task.contentLines.Length - 3, 0);
             task.capacity = length;
             task.container = new Dictionary<string, ConfigBase>(length);
             task.state = TaskState.ReadFileSuccess;
@@ -711,7 +693,6 @@
         public readonly Type type;
         public readonly int token;
         public readonly string taskName;
-        public readonly AssetPath assetPath;
         public readonly string filePath;
 
         public Action<ConfigTask> launch;
@@ -720,10 +701,9 @@
         public Dictionary<string, ConfigBase> container;
         public TaskState state = TaskState.None;
 
-        public ConfigTask(Type _type, AssetPath _assetPath, string _filePath)
+        public ConfigTask(Type _type, string _filePath)
         {
             type = _type;
-            assetPath = _assetPath;
             taskName = type.Name;
             token = type.MetadataToken;
 
diff --git a/Core/ResModule/BuiltInLoader.cs b/Core/ResModule/BuiltInLoader.cs
index 429e517..6c87dc9 100644
--- a/Core/ResModule/BuiltInLoader.cs
+++ b/Core/ResModule/BuiltInLoader.cs
@@ -14,7 +14,7 @@
         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
         }
@@ -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;
         }
 
@@ -94,13 +94,13 @@
         if (AssetSource.builtInFromEditor)
         {
 #if UNITY_EDITOR
-            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/AnimationClip/", name, ".anim");
+            var path = StringUtility.Contact("Assets/ResourcesOut/BuiltIn/AnimationClips/", name, ".anim");
             clip = UnityEditor.AssetDatabase.LoadAssetAtPath<AnimationClip>(path);
 #endif
         }
         else
         {
-            var assetInfo = new AssetInfo("builtin/animationclip", name);
+            var assetInfo = new AssetInfo("builtin/animationclips", name);
             clip = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo) as AnimationClip;
         }
 
@@ -144,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;
         }
 
diff --git a/Fight/Actor/Skill/XRayShadow.cs b/Fight/Actor/Skill/XRayShadow.cs
index 88f7c9a..b75684f 100644
--- a/Fight/Actor/Skill/XRayShadow.cs
+++ b/Fight/Actor/Skill/XRayShadow.cs
@@ -27,7 +27,7 @@
         _filter.mesh = _mesh;
 
         MeshRenderer _renderer = _xayShadow.AddComponent<MeshRenderer>();
-        _renderer.material = Resources.Load<Material>("Material/XRay");
+        _renderer.material = BuiltInLoader.LoadMaterial("XRay");
 
         _xayShadow.transform.localScale = requester.transform.localScale;
         _xayShadow.transform.position = requester.transform.position;
diff --git a/Fight/GameActor/GActorPlayerBase.cs b/Fight/GameActor/GActorPlayerBase.cs
index 8ed1859..ae51b2c 100644
--- a/Fight/GameActor/GActorPlayerBase.cs
+++ b/Fight/GameActor/GActorPlayerBase.cs
@@ -2050,8 +2050,6 @@
             m_ClothesAnimator.Play(GAStaticDefine.State_SitDown);
         }
 
-        GameObject _prefab = Resources.Load<GameObject>("Prefabs/PT_FS");
-
         ShowOrHideWeapon(false);
     }
 
diff --git a/Fight/PreFightMission.cs b/Fight/PreFightMission.cs
index 0b0e4f0..1527a0e 100644
--- a/Fight/PreFightMission.cs
+++ b/Fight/PreFightMission.cs
@@ -986,7 +986,7 @@
 
     private void RefreshRockNPC()
     {
-        EarlyStageFirstWaveRock _data = Resources.Load<EarlyStageFirstWaveRock>("ScriptableObject/Config/EarlyStageFirstWaveRock");
+        var _data = BuiltInLoader.LoadScriptableObject<EarlyStageFirstWaveRock>("EarlyStageFirstWaveRock");
         if (!_data)
         {
             return;
diff --git a/System/KnapSack/Logic/WindowPosCnfig.cs b/System/KnapSack/Logic/WindowPosCnfig.cs
index 7a7ca80..5e70567 100644
--- a/System/KnapSack/Logic/WindowPosCnfig.cs
+++ b/System/KnapSack/Logic/WindowPosCnfig.cs
@@ -14,7 +14,7 @@
     {
         if (config == null)
         {
-            config = Resources.Load<WindowPosCnfig>("ScriptableObject/Config/WindowPosConfig");
+            config = BuiltInLoader.LoadScriptableObject<WindowPosCnfig>("WindowPosConfig");
         }
 
         return config;
diff --git a/UI/Common/EnableButtonConfig.cs b/UI/Common/EnableButtonConfig.cs
index 11aeb14..20c8160 100644
--- a/UI/Common/EnableButtonConfig.cs
+++ b/UI/Common/EnableButtonConfig.cs
@@ -31,7 +31,7 @@
         {
             return dict[_type];
         }
-        var _cfg= Resources.Load<EnableButtonConfig>(StringUtility.Contact("ScriptableObject/Config/EnableButton_", _type));
+        var _cfg= BuiltInLoader.LoadScriptableObject<EnableButtonConfig>(StringUtility.Contact("EnableButton_", _type));
         dict.Add(_type, _cfg);
         return _cfg;
     }
diff --git a/UI/Common/FunctionButtonConfig.cs b/UI/Common/FunctionButtonConfig.cs
index a6ed611..a810975 100644
--- a/UI/Common/FunctionButtonConfig.cs
+++ b/UI/Common/FunctionButtonConfig.cs
@@ -15,7 +15,7 @@
     {
         if (m_Default == null)
         {
-            m_Default = Resources.Load<FunctionButtonConfig>("ScriptableObject/Config/FunctionButton_Default");
+            m_Default = BuiltInLoader.LoadScriptableObject<FunctionButtonConfig>("FunctionButton_Default");
         }
 
         return m_Default;
diff --git a/UI/Common/PriorityWindowConfig.cs b/UI/Common/PriorityWindowConfig.cs
index 21c4887..9a2280a 100644
--- a/UI/Common/PriorityWindowConfig.cs
+++ b/UI/Common/PriorityWindowConfig.cs
@@ -12,7 +12,7 @@
     {
         if (config == null)
         {
-            config = Resources.Load<PriorityWindowConfig>("ScriptableObject/Config/PriorityWindowConfig");
+            config = BuiltInLoader.LoadScriptableObject<PriorityWindowConfig>("PriorityWindowConfig");
         }
 
         return config;
diff --git a/Utility/Constants.cs b/Utility/Constants.cs
index 0683e92..c398fcb 100644
--- a/Utility/Constants.cs
+++ b/Utility/Constants.cs
@@ -44,8 +44,8 @@
 
     public static int UnUsedRes_Unload_Delay = 300;
 
-    public static AnimationCurveConfig deadAniCurve = Resources.Load<AnimationCurveConfig>("AnimationCurve/Anim_Curve_DeadFly");
-    public static AnimationCurveConfig hurtAniCurve = Resources.Load<AnimationCurveConfig>("AnimationCurve/Anim_Curve_HurtFlash");
-    public static AnimationCurveConfig zoomAniCurve = Resources.Load<AnimationCurveConfig>("AnimationCurve/Anim_Curve_Zoom");
-    public static AnimationCurveConfig shakeAniCurve = Resources.Load<AnimationCurveConfig>("AnimationCurve/Anim_Curve_Shake");
+    public static AnimationCurveConfig deadAniCurve = BuiltInLoader.LoadScriptableObject<AnimationCurveConfig>("Anim_Curve_DeadFly");
+    public static AnimationCurveConfig hurtAniCurve = BuiltInLoader.LoadScriptableObject<AnimationCurveConfig>("Anim_Curve_HurtFlash");
+    public static AnimationCurveConfig zoomAniCurve = BuiltInLoader.LoadScriptableObject<AnimationCurveConfig>("Anim_Curve_Zoom");
+    public static AnimationCurveConfig shakeAniCurve = BuiltInLoader.LoadScriptableObject<AnimationCurveConfig>("Anim_Curve_Shake");
 }

--
Gitblit v1.8.0