Skip to content

Commit 86bd9dc

Browse files
author
Jiang Yin
committed
优化边玩边下载逻辑
1 parent 4c4c4bc commit 86bd9dc

File tree

7 files changed

+155
-37
lines changed

7 files changed

+155
-37
lines changed

Libraries/GameFramework.dll

1 KB
Binary file not shown.

Libraries/GameFramework.xml

Lines changed: 62 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2611,6 +2611,11 @@
26112611
获取任务的优先级。
26122612
</summary>
26132613
</member>
2614+
<member name="P:GameFramework.TaskBase.UserData">
2615+
<summary>
2616+
获取任务的用户自定义数据。
2617+
</summary>
2618+
</member>
26142619
<member name="P:GameFramework.TaskBase.Done">
26152620
<summary>
26162621
获取或设置任务是否完成。
@@ -2621,13 +2626,14 @@
26212626
获取任务描述。
26222627
</summary>
26232628
</member>
2624-
<member name="M:GameFramework.TaskBase.Initialize(System.Int32,System.String,System.Int32)">
2629+
<member name="M:GameFramework.TaskBase.Initialize(System.Int32,System.String,System.Int32,System.Object)">
26252630
<summary>
26262631
初始化任务基类。
26272632
</summary>
26282633
<param name="serialId">任务的序列编号。</param>
26292634
<param name="tag">任务的标签。</param>
26302635
<param name="priority">任务的优先级。</param>
2636+
<param name="userData">任务的用户自定义数据。</param>
26312637
</member>
26322638
<member name="M:GameFramework.TaskBase.Clear">
26332639
<summary>
@@ -2639,13 +2645,14 @@
26392645
任务信息。
26402646
</summary>
26412647
</member>
2642-
<member name="M:GameFramework.TaskInfo.#ctor(System.Int32,System.String,System.Int32,GameFramework.TaskStatus,System.String)">
2648+
<member name="M:GameFramework.TaskInfo.#ctor(System.Int32,System.String,System.Int32,System.Object,GameFramework.TaskStatus,System.String)">
26432649
<summary>
26442650
初始化任务信息的新实例。
26452651
</summary>
26462652
<param name="serialId">任务的序列编号。</param>
26472653
<param name="tag">任务的标签。</param>
26482654
<param name="priority">任务的优先级。</param>
2655+
<param name="userData">任务的用户自定义数据。</param>
26492656
<param name="status">任务状态。</param>
26502657
<param name="description">任务描述。</param>
26512658
</member>
@@ -2669,6 +2676,11 @@
26692676
获取任务的优先级。
26702677
</summary>
26712678
</member>
2679+
<member name="P:GameFramework.TaskInfo.UserData">
2680+
<summary>
2681+
获取任务的用户自定义数据。
2682+
</summary>
2683+
</member>
26722684
<member name="P:GameFramework.TaskInfo.Status">
26732685
<summary>
26742686
获取任务状态。
@@ -5609,11 +5621,6 @@
56095621
获取下载超时时长,以秒为单位。
56105622
</summary>
56115623
</member>
5612-
<member name="P:GameFramework.Download.DownloadManager.DownloadTask.UserData">
5613-
<summary>
5614-
获取用户自定义数据。
5615-
</summary>
5616-
</member>
56175624
<member name="P:GameFramework.Download.DownloadManager.DownloadTask.Description">
56185625
<summary>
56195626
获取下载任务的描述。
@@ -13740,14 +13747,14 @@
1374013747
获取等待更新资源数量。
1374113748
</summary>
1374213749
</member>
13743-
<member name="P:GameFramework.Resource.IResourceManager.UpdateCandidateCount">
13750+
<member name="P:GameFramework.Resource.IResourceManager.UpdateWaitingWhilePlayingCount">
1374413751
<summary>
13745-
获取候选更新资源数量
13752+
获取使用时下载的等待更新资源数量
1374613753
</summary>
1374713754
</member>
13748-
<member name="P:GameFramework.Resource.IResourceManager.UpdatingCount">
13755+
<member name="P:GameFramework.Resource.IResourceManager.UpdateCandidateCount">
1374913756
<summary>
13750-
获取正在更新资源数量
13757+
获取候选更新资源数量
1375113758
</summary>
1375213759
</member>
1375313760
<member name="P:GameFramework.Resource.IResourceManager.LoadTotalAgentCount">
@@ -13840,6 +13847,11 @@
1384013847
资源更新失败事件。
1384113848
</summary>
1384213849
</member>
13850+
<member name="E:GameFramework.Resource.IResourceManager.ResourceUpdateAllComplete">
13851+
<summary>
13852+
资源更新全部完成事件。
13853+
</summary>
13854+
</member>
1384313855
<member name="M:GameFramework.Resource.IResourceManager.SetReadOnlyPath(System.String)">
1384413856
<summary>
1384513857
设置资源只读区路径。
@@ -15417,14 +15429,14 @@
1541715429
获取等待更新资源数量。
1541815430
</summary>
1541915431
</member>
15420-
<member name="P:GameFramework.Resource.ResourceManager.UpdateCandidateCount">
15432+
<member name="P:GameFramework.Resource.ResourceManager.UpdateWaitingWhilePlayingCount">
1542115433
<summary>
15422-
获取候选更新资源数量
15434+
获取使用时下载的等待更新资源数量
1542315435
</summary>
1542415436
</member>
15425-
<member name="P:GameFramework.Resource.ResourceManager.UpdatingCount">
15437+
<member name="P:GameFramework.Resource.ResourceManager.UpdateCandidateCount">
1542615438
<summary>
15427-
获取正在更新资源数量
15439+
获取候选更新资源数量
1542815440
</summary>
1542915441
</member>
1543015442
<member name="P:GameFramework.Resource.ResourceManager.LoadTotalAgentCount">
@@ -15517,6 +15529,11 @@
1551715529
资源更新失败事件。
1551815530
</summary>
1551915531
</member>
15532+
<member name="E:GameFramework.Resource.ResourceManager.ResourceUpdateAllComplete">
15533+
<summary>
15534+
资源更新全部完成事件。
15535+
</summary>
15536+
</member>
1552015537
<member name="M:GameFramework.Resource.ResourceManager.Update(System.Single,System.Single)">
1552115538
<summary>
1552215539
资源管理器轮询。
@@ -16894,14 +16911,14 @@
1689416911
获取等待更新资源数量。
1689516912
</summary>
1689616913
</member>
16897-
<member name="P:GameFramework.Resource.ResourceManager.ResourceUpdater.UpdateCandidateCount">
16914+
<member name="P:GameFramework.Resource.ResourceManager.ResourceUpdater.UpdateWaitingWhilePlayingCount">
1689816915
<summary>
16899-
获取候选更新资源数量
16916+
获取使用时下载的等待更新资源数量
1690016917
</summary>
1690116918
</member>
16902-
<member name="P:GameFramework.Resource.ResourceManager.ResourceUpdater.UpdatingCount">
16919+
<member name="P:GameFramework.Resource.ResourceManager.ResourceUpdater.UpdateCandidateCount">
1690316920
<summary>
16904-
获取正在更新资源数量
16921+
获取候选更新资源数量
1690516922
</summary>
1690616923
</member>
1690716924
<member name="M:GameFramework.Resource.ResourceManager.ResourceUpdater.Update(System.Single,System.Single)">
@@ -17021,6 +17038,11 @@
1702117038
获取资源路径。
1702217039
</summary>
1702317040
</member>
17041+
<member name="P:GameFramework.Resource.ResourceManager.ResourceUpdater.UpdateInfo.Downloading">
17042+
<summary>
17043+
获取或设置下载状态。
17044+
</summary>
17045+
</member>
1702417046
<member name="P:GameFramework.Resource.ResourceManager.ResourceUpdater.UpdateInfo.RetryCount">
1702517047
<summary>
1702617048
获取或设置已重试次数。
@@ -17209,6 +17231,27 @@
1720917231
</summary>
1721017232
<returns>资源包版本资源列表头标识。</returns>
1721117233
</member>
17234+
<member name="T:GameFramework.Resource.ResourceUpdateAllCompleteEventArgs">
17235+
<summary>
17236+
资源更新全部完成事件。
17237+
</summary>
17238+
</member>
17239+
<member name="M:GameFramework.Resource.ResourceUpdateAllCompleteEventArgs.#ctor">
17240+
<summary>
17241+
初始化资源更新全部完成事件的新实例。
17242+
</summary>
17243+
</member>
17244+
<member name="M:GameFramework.Resource.ResourceUpdateAllCompleteEventArgs.Create">
17245+
<summary>
17246+
创建资源更新全部完成事件。
17247+
</summary>
17248+
<returns>创建的资源更新全部完成事件。</returns>
17249+
</member>
17250+
<member name="M:GameFramework.Resource.ResourceUpdateAllCompleteEventArgs.Clear">
17251+
<summary>
17252+
清理资源更新全部完成事件。
17253+
</summary>
17254+
</member>
1721217255
<member name="T:GameFramework.Resource.ResourceUpdateChangedEventArgs">
1721317256
<summary>
1721417257
资源更新改变事件。
@@ -23455,11 +23498,6 @@
2345523498
获取 Web 请求超时时长,以秒为单位。
2345623499
</summary>
2345723500
</member>
23458-
<member name="P:GameFramework.WebRequest.WebRequestManager.WebRequestTask.UserData">
23459-
<summary>
23460-
获取用户自定义数据。
23461-
</summary>
23462-
</member>
2346323501
<member name="P:GameFramework.WebRequest.WebRequestManager.WebRequestTask.Description">
2346423502
<summary>
2346523503
获取 Web 请求任务的描述。

Scripts/Editor/Inspector/ResourceComponentInspector.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,8 +283,8 @@ public override void OnInspectorGUI()
283283
EditorGUILayout.LabelField("Apply Waiting Count", isEditorResourceMode ? "N/A" : t.ApplyWaitingCount.ToString());
284284
EditorGUILayout.LabelField("Updating Resource Group", isEditorResourceMode ? "N/A" : t.UpdatingResourceGroup != null ? t.UpdatingResourceGroup.Name : "<Unknwon>");
285285
EditorGUILayout.LabelField("Update Waiting Count", isEditorResourceMode ? "N/A" : t.UpdateWaitingCount.ToString());
286+
EditorGUILayout.LabelField("Update Waiting While Playing Count", isEditorResourceMode ? "N/A" : t.UpdateWaitingWhilePlayingCount.ToString());
286287
EditorGUILayout.LabelField("Update Candidate Count", isEditorResourceMode ? "N/A" : t.UpdateCandidateCount.ToString());
287-
EditorGUILayout.LabelField("Updating Count", isEditorResourceMode ? "N/A" : t.UpdatingCount.ToString());
288288
}
289289
EditorGUILayout.LabelField("Load Total Agent Count", isEditorResourceMode ? "N/A" : t.LoadTotalAgentCount.ToString());
290290
EditorGUILayout.LabelField("Load Free Agent Count", isEditorResourceMode ? "N/A" : t.LoadFreeAgentCount.ToString());

Scripts/Runtime/Resource/EditorResourceComponent.cs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -291,24 +291,24 @@ public int UpdateWaitingCount
291291
}
292292

293293
/// <summary>
294-
/// 获取候选更新资源数量
294+
/// 获取使用时下载的等待更新资源数量
295295
/// </summary>
296-
public int UpdateCandidateCount
296+
public int UpdateWaitingWhilePlayingCount
297297
{
298298
get
299299
{
300-
throw new NotSupportedException("UpdateCandidateCount");
300+
throw new NotSupportedException("UpdateWaitingWhilePlayingCount");
301301
}
302302
}
303303

304304
/// <summary>
305-
/// 获取正在更新资源个数
305+
/// 获取候选更新资源数量
306306
/// </summary>
307-
public int UpdatingCount
307+
public int UpdateCandidateCount
308308
{
309309
get
310310
{
311-
throw new NotSupportedException("UpdatingCount");
311+
throw new NotSupportedException("UpdateCandidateCount");
312312
}
313313
}
314314

@@ -519,6 +519,11 @@ public int LoadWaitingAssetCount
519519
/// </summary>
520520
public event EventHandler<GameFramework.Resource.ResourceUpdateFailureEventArgs> ResourceUpdateFailure = null;
521521

522+
/// <summary>
523+
/// 资源更新全部完成事件。
524+
/// </summary>
525+
public event EventHandler<GameFramework.Resource.ResourceUpdateAllCompleteEventArgs> ResourceUpdateAllComplete = null;
526+
522527
#pragma warning restore 0067, 0414
523528

524529
private void Awake()

Scripts/Runtime/Resource/ResourceComponent.cs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -395,24 +395,24 @@ public int UpdateWaitingCount
395395
}
396396

397397
/// <summary>
398-
/// 获取候选更新资源数量
398+
/// 获取使用时下载的等待更新资源数量
399399
/// </summary>
400-
public int UpdateCandidateCount
400+
public int UpdateWaitingWhilePlayingCount
401401
{
402402
get
403403
{
404-
return m_ResourceManager.UpdateCandidateCount;
404+
return m_ResourceManager.UpdateWaitingWhilePlayingCount;
405405
}
406406
}
407407

408408
/// <summary>
409-
/// 获取正在更新资源数量
409+
/// 获取候选更新资源数量
410410
/// </summary>
411-
public int UpdatingCount
411+
public int UpdateCandidateCount
412412
{
413413
get
414414
{
415-
return m_ResourceManager.UpdatingCount;
415+
return m_ResourceManager.UpdateCandidateCount;
416416
}
417417
}
418418

@@ -618,6 +618,7 @@ private void Start()
618618
m_ResourceManager.ResourceUpdateChanged += OnResourceUpdateChanged;
619619
m_ResourceManager.ResourceUpdateSuccess += OnResourceUpdateSuccess;
620620
m_ResourceManager.ResourceUpdateFailure += OnResourceUpdateFailure;
621+
m_ResourceManager.ResourceUpdateAllComplete += OnResourceUpdateAllComplete;
621622

622623
m_ResourceManager.SetReadOnlyPath(Application.streamingAssetsPath);
623624
if (m_ReadWritePathType == ReadWritePathType.TemporaryCache)
@@ -1448,5 +1449,10 @@ private void OnResourceUpdateFailure(object sender, GameFramework.Resource.Resou
14481449
{
14491450
m_EventComponent.Fire(this, ResourceUpdateFailureEventArgs.Create(e));
14501451
}
1452+
1453+
private void OnResourceUpdateAllComplete(object sender, GameFramework.Resource.ResourceUpdateAllCompleteEventArgs e)
1454+
{
1455+
m_EventComponent.Fire(this, ResourceUpdateAllCompleteEventArgs.Create(e));
1456+
}
14511457
}
14521458
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
//------------------------------------------------------------
2+
// Game Framework
3+
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
4+
// Homepage: https://gameframework.cn/
5+
// Feedback: mailto:[email protected]
6+
//------------------------------------------------------------
7+
8+
using GameFramework;
9+
using GameFramework.Event;
10+
11+
namespace UnityGameFramework.Runtime
12+
{
13+
/// <summary>
14+
/// 资源更新全部完成事件。
15+
/// </summary>
16+
public sealed class ResourceUpdateAllCompleteEventArgs : GameEventArgs
17+
{
18+
/// <summary>
19+
/// 资源更新全部完成事件编号。
20+
/// </summary>
21+
public static readonly int EventId = typeof(ResourceUpdateAllCompleteEventArgs).GetHashCode();
22+
23+
/// <summary>
24+
/// 初始化资源更新全部完成事件的新实例。
25+
/// </summary>
26+
public ResourceUpdateAllCompleteEventArgs()
27+
{
28+
}
29+
30+
/// <summary>
31+
/// 获取资源更新全部完成事件编号。
32+
/// </summary>
33+
public override int Id
34+
{
35+
get
36+
{
37+
return EventId;
38+
}
39+
}
40+
41+
/// <summary>
42+
/// 创建资源更新全部完成事件。
43+
/// </summary>
44+
/// <param name="e">内部事件。</param>
45+
/// <returns>创建的资源更新全部完成事件。</returns>
46+
public static ResourceUpdateAllCompleteEventArgs Create(GameFramework.Resource.ResourceUpdateAllCompleteEventArgs e)
47+
{
48+
return ReferencePool.Acquire<ResourceUpdateAllCompleteEventArgs>();
49+
}
50+
51+
/// <summary>
52+
/// 清理资源更新全部完成事件。
53+
/// </summary>
54+
public override void Clear()
55+
{
56+
}
57+
}
58+
}

Scripts/Runtime/Resource/ResourceUpdateAllCompleteEventArgs.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)