diff --git a/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureInitPackage.cs b/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureInitPackage.cs index 123f7e65..a3ffc2ca 100644 --- a/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureInitPackage.cs +++ b/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureInitPackage.cs @@ -78,7 +78,8 @@ namespace GameMain ChangeState(procedureOwner); } // 可更新模式。 - else if (playMode == EPlayMode.HostPlayMode) + else if (playMode == EPlayMode.HostPlayMode || + playMode == EPlayMode.WebPlayMode) { // 打开启动UI。 UILoadMgr.Show(UIDefine.UILoadUpdate); @@ -86,12 +87,6 @@ namespace GameMain Log.Info("Updatable resource mode detected."); ChangeState(procedureOwner); } - // 可更新模式。 - else if (playMode == EPlayMode.WebPlayMode) - { - Log.Info("WebPlayMode resource mode detected."); - ChangeState(procedureOwner); - } else { Log.Error("UnKnow resource mode detected Please check???"); diff --git a/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureUpdateManifest.cs b/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureUpdateManifest.cs index 301408eb..89b053e7 100644 --- a/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureUpdateManifest.cs +++ b/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureUpdateManifest.cs @@ -35,6 +35,14 @@ namespace GameMain //更新成功 //注意:保存资源版本号作为下次默认启动的版本! operation.SavePackageVersion(); + + if (GameModule.Resource.PlayMode == EPlayMode.WebPlayMode || + GameModule.Resource.UpdatableWhilePlaying) + { + // 边玩边下载还可以拓展首包支持。 + ChangeState(procedureOwner); + return; + } ChangeState(procedureOwner); } else diff --git a/UnityProject/Assets/TEngine/Editor/Inspector/ResourceModuleInspector.cs b/UnityProject/Assets/TEngine/Editor/Inspector/ResourceModuleInspector.cs index 8a9cac43..1a70d5d0 100644 --- a/UnityProject/Assets/TEngine/Editor/Inspector/ResourceModuleInspector.cs +++ b/UnityProject/Assets/TEngine/Editor/Inspector/ResourceModuleInspector.cs @@ -22,6 +22,7 @@ namespace TEngine.Editor.Inspector }; private SerializedProperty m_PlayMode = null; + private SerializedProperty m_UpdatableWhilePlaying = null; private SerializedProperty m_VerifyLevel = null; private SerializedProperty m_Milliseconds = null; private SerializedProperty m_ReadWritePathType = null; @@ -72,6 +73,8 @@ namespace TEngine.Editor.Inspector m_ReadWritePathType.enumValueIndex = (int)(ReadWritePathType)EditorGUILayout.EnumPopup("Read-Write Path Type", t.ReadWritePathType); } + EditorGUILayout.PropertyField(m_UpdatableWhilePlaying); + EditorGUI.EndDisabledGroup(); int milliseconds = EditorGUILayout.DelayedIntField("Milliseconds", m_Milliseconds.intValue); @@ -221,6 +224,7 @@ namespace TEngine.Editor.Inspector private void OnEnable() { m_PlayMode = serializedObject.FindProperty("playMode"); + m_UpdatableWhilePlaying = serializedObject.FindProperty("m_UpdatableWhilePlaying"); m_VerifyLevel = serializedObject.FindProperty("VerifyLevel"); m_Milliseconds = serializedObject.FindProperty("Milliseconds"); m_ReadWritePathType = serializedObject.FindProperty("m_ReadWritePathType"); diff --git a/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceModule.cs b/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceModule.cs index bd85d52f..1d70231c 100644 --- a/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceModule.cs +++ b/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceModule.cs @@ -74,6 +74,16 @@ namespace TEngine #endif } } + + /// + /// 是否支持边玩边下载。 + /// + [SerializeField] private bool m_UpdatableWhilePlaying = false; + + /// + /// 是否支持边玩边下载。 + /// + public bool UpdatableWhilePlaying => m_UpdatableWhilePlaying; /// /// 下载文件校验等级。