支持边玩边下载,合理化webgl下的流程

支持边玩边下载,合理化webgl下的流程
This commit is contained in:
ALEXTANG
2024-03-28 15:55:27 +08:00
parent 3e3314858e
commit f10a89180e
4 changed files with 24 additions and 7 deletions

View File

@@ -78,7 +78,8 @@ namespace GameMain
ChangeState<ProcedureInitResources>(procedureOwner); ChangeState<ProcedureInitResources>(procedureOwner);
} }
// 可更新模式。 // 可更新模式。
else if (playMode == EPlayMode.HostPlayMode) else if (playMode == EPlayMode.HostPlayMode ||
playMode == EPlayMode.WebPlayMode)
{ {
// 打开启动UI。 // 打开启动UI。
UILoadMgr.Show(UIDefine.UILoadUpdate); UILoadMgr.Show(UIDefine.UILoadUpdate);
@@ -86,12 +87,6 @@ namespace GameMain
Log.Info("Updatable resource mode detected."); Log.Info("Updatable resource mode detected.");
ChangeState<ProcedureUpdateVersion>(procedureOwner); ChangeState<ProcedureUpdateVersion>(procedureOwner);
} }
// 可更新模式。
else if (playMode == EPlayMode.WebPlayMode)
{
Log.Info("WebPlayMode resource mode detected.");
ChangeState<ProcedurePreload>(procedureOwner);
}
else else
{ {
Log.Error("UnKnow resource mode detected Please check???"); Log.Error("UnKnow resource mode detected Please check???");

View File

@@ -35,6 +35,14 @@ namespace GameMain
//更新成功 //更新成功
//注意:保存资源版本号作为下次默认启动的版本! //注意:保存资源版本号作为下次默认启动的版本!
operation.SavePackageVersion(); operation.SavePackageVersion();
if (GameModule.Resource.PlayMode == EPlayMode.WebPlayMode ||
GameModule.Resource.UpdatableWhilePlaying)
{
// 边玩边下载还可以拓展首包支持。
ChangeState<ProcedurePreload>(procedureOwner);
return;
}
ChangeState<ProcedureCreateDownloader>(procedureOwner); ChangeState<ProcedureCreateDownloader>(procedureOwner);
} }
else else

View File

@@ -22,6 +22,7 @@ namespace TEngine.Editor.Inspector
}; };
private SerializedProperty m_PlayMode = null; private SerializedProperty m_PlayMode = null;
private SerializedProperty m_UpdatableWhilePlaying = null;
private SerializedProperty m_VerifyLevel = null; private SerializedProperty m_VerifyLevel = null;
private SerializedProperty m_Milliseconds = null; private SerializedProperty m_Milliseconds = null;
private SerializedProperty m_ReadWritePathType = 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); m_ReadWritePathType.enumValueIndex = (int)(ReadWritePathType)EditorGUILayout.EnumPopup("Read-Write Path Type", t.ReadWritePathType);
} }
EditorGUILayout.PropertyField(m_UpdatableWhilePlaying);
EditorGUI.EndDisabledGroup(); EditorGUI.EndDisabledGroup();
int milliseconds = EditorGUILayout.DelayedIntField("Milliseconds", m_Milliseconds.intValue); int milliseconds = EditorGUILayout.DelayedIntField("Milliseconds", m_Milliseconds.intValue);
@@ -221,6 +224,7 @@ namespace TEngine.Editor.Inspector
private void OnEnable() private void OnEnable()
{ {
m_PlayMode = serializedObject.FindProperty("playMode"); m_PlayMode = serializedObject.FindProperty("playMode");
m_UpdatableWhilePlaying = serializedObject.FindProperty("m_UpdatableWhilePlaying");
m_VerifyLevel = serializedObject.FindProperty("VerifyLevel"); m_VerifyLevel = serializedObject.FindProperty("VerifyLevel");
m_Milliseconds = serializedObject.FindProperty("Milliseconds"); m_Milliseconds = serializedObject.FindProperty("Milliseconds");
m_ReadWritePathType = serializedObject.FindProperty("m_ReadWritePathType"); m_ReadWritePathType = serializedObject.FindProperty("m_ReadWritePathType");

View File

@@ -75,6 +75,16 @@ namespace TEngine
} }
} }
/// <summary>
/// 是否支持边玩边下载。
/// </summary>
[SerializeField] private bool m_UpdatableWhilePlaying = false;
/// <summary>
/// 是否支持边玩边下载。
/// </summary>
public bool UpdatableWhilePlaying => m_UpdatableWhilePlaying;
/// <summary> /// <summary>
/// 下载文件校验等级。 /// 下载文件校验等级。
/// </summary> /// </summary>