支持边玩边下载,合理化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);
}
// 可更新模式。
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<ProcedureUpdateVersion>(procedureOwner);
}
// 可更新模式。
else if (playMode == EPlayMode.WebPlayMode)
{
Log.Info("WebPlayMode resource mode detected.");
ChangeState<ProcedurePreload>(procedureOwner);
}
else
{
Log.Error("UnKnow resource mode detected Please check???");

View File

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

View File

@@ -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");

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>