Skip to content

Commit b716ec0

Browse files
author
Ellan Jiang
authored
Merge pull request #38 from EllanJiang/v2019.2
V2019.2
2 parents b5141d3 + 7953a69 commit b716ec0

35 files changed

+913
-126
lines changed

GameFramework/Base/TaskPool/TaskPool.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ internal sealed class TaskPool<T> where T : ITask
1818
private readonly Stack<ITaskAgent<T>> m_FreeAgents;
1919
private readonly LinkedList<ITaskAgent<T>> m_WorkingAgents;
2020
private readonly LinkedList<T> m_WaitingTasks;
21+
private bool m_Paused;
2122

2223
/// <summary>
2324
/// 初始化任务池的新实例。
@@ -27,6 +28,22 @@ public TaskPool()
2728
m_FreeAgents = new Stack<ITaskAgent<T>>();
2829
m_WorkingAgents = new LinkedList<ITaskAgent<T>>();
2930
m_WaitingTasks = new LinkedList<T>();
31+
m_Paused = false;
32+
}
33+
34+
/// <summary>
35+
/// 获取或设置任务池是否被暂停。
36+
/// </summary>
37+
public bool Paused
38+
{
39+
get
40+
{
41+
return m_Paused;
42+
}
43+
set
44+
{
45+
m_Paused = value;
46+
}
3047
}
3148

3249
/// <summary>
@@ -80,6 +97,11 @@ public int WaitingTaskCount
8097
/// <param name="realElapseSeconds">真实流逝时间,以秒为单位。</param>
8198
public void Update(float elapseSeconds, float realElapseSeconds)
8299
{
100+
if (m_Paused)
101+
{
102+
return;
103+
}
104+
83105
ProcessRunningTasks(elapseSeconds, realElapseSeconds);
84106
ProcessWaitingTasks(elapseSeconds, realElapseSeconds);
85107
}

GameFramework/Config/ConfigManager.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,7 @@ private void LoadConfigSuccessCallback(string configAssetName, object configAsse
518518
{
519519
if (m_LoadConfigFailureEventHandler != null)
520520
{
521-
m_LoadConfigFailureEventHandler(this, new LoadConfigFailureEventArgs(configAssetName, exception.ToString(), loadConfigInfo.UserData));
521+
m_LoadConfigFailureEventHandler(this, new LoadConfigFailureEventArgs(configAssetName, loadConfigInfo.LoadType, exception.ToString(), loadConfigInfo.UserData));
522522
return;
523523
}
524524

@@ -531,7 +531,7 @@ private void LoadConfigSuccessCallback(string configAssetName, object configAsse
531531

532532
if (m_LoadConfigSuccessEventHandler != null)
533533
{
534-
m_LoadConfigSuccessEventHandler(this, new LoadConfigSuccessEventArgs(configAssetName, duration, loadConfigInfo.UserData));
534+
m_LoadConfigSuccessEventHandler(this, new LoadConfigSuccessEventArgs(configAssetName, loadConfigInfo.LoadType, duration, loadConfigInfo.UserData));
535535
}
536536
}
537537

@@ -546,7 +546,7 @@ private void LoadConfigFailureCallback(string configAssetName, LoadResourceStatu
546546
string appendErrorMessage = Utility.Text.Format("Load config failure, asset name '{0}', status '{1}', error message '{2}'.", configAssetName, status.ToString(), errorMessage);
547547
if (m_LoadConfigFailureEventHandler != null)
548548
{
549-
m_LoadConfigFailureEventHandler(this, new LoadConfigFailureEventArgs(configAssetName, appendErrorMessage, loadConfigInfo.UserData));
549+
m_LoadConfigFailureEventHandler(this, new LoadConfigFailureEventArgs(configAssetName, loadConfigInfo.LoadType, appendErrorMessage, loadConfigInfo.UserData));
550550
return;
551551
}
552552

@@ -563,7 +563,7 @@ private void LoadConfigUpdateCallback(string configAssetName, float progress, ob
563563

564564
if (m_LoadConfigUpdateEventHandler != null)
565565
{
566-
m_LoadConfigUpdateEventHandler(this, new LoadConfigUpdateEventArgs(configAssetName, progress, loadConfigInfo.UserData));
566+
m_LoadConfigUpdateEventHandler(this, new LoadConfigUpdateEventArgs(configAssetName, loadConfigInfo.LoadType, progress, loadConfigInfo.UserData));
567567
}
568568
}
569569

GameFramework/Config/LoadConfigFailureEventArgs.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ public sealed class LoadConfigFailureEventArgs : GameFrameworkEventArgs
1616
/// 初始化加载配置失败事件的新实例。
1717
/// </summary>
1818
/// <param name="configAssetName">配置资源名称。</param>
19+
/// <param name="loadType">配置加载方式。</param>
1920
/// <param name="errorMessage">错误信息。</param>
2021
/// <param name="userData">用户自定义数据。</param>
21-
public LoadConfigFailureEventArgs(string configAssetName, string errorMessage, object userData)
22+
public LoadConfigFailureEventArgs(string configAssetName, LoadType loadType, string errorMessage, object userData)
2223
{
2324
ConfigAssetName = configAssetName;
25+
LoadType = loadType;
2426
ErrorMessage = errorMessage;
2527
UserData = userData;
2628
}
@@ -34,6 +36,15 @@ public string ConfigAssetName
3436
private set;
3537
}
3638

39+
/// <summary>
40+
/// 获取配置加载方式。
41+
/// </summary>
42+
public LoadType LoadType
43+
{
44+
get;
45+
private set;
46+
}
47+
3748
/// <summary>
3849
/// 获取错误信息。
3950
/// </summary>

GameFramework/Config/LoadConfigSuccessEventArgs.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ public sealed class LoadConfigSuccessEventArgs : GameFrameworkEventArgs
1616
/// 初始化加载配置成功事件的新实例。
1717
/// </summary>
1818
/// <param name="configAssetName">配置资源名称。</param>
19+
/// <param name="loadType">配置加载方式。</param>
1920
/// <param name="duration">加载持续时间。</param>
2021
/// <param name="userData">用户自定义数据。</param>
21-
public LoadConfigSuccessEventArgs(string configAssetName, float duration, object userData)
22+
public LoadConfigSuccessEventArgs(string configAssetName, LoadType loadType, float duration, object userData)
2223
{
2324
ConfigAssetName = configAssetName;
25+
LoadType = loadType;
2426
Duration = duration;
2527
UserData = userData;
2628
}
@@ -34,6 +36,15 @@ public string ConfigAssetName
3436
private set;
3537
}
3638

39+
/// <summary>
40+
/// 获取配置加载方式。
41+
/// </summary>
42+
public LoadType LoadType
43+
{
44+
get;
45+
private set;
46+
}
47+
3748
/// <summary>
3849
/// 获取加载持续时间。
3950
/// </summary>

GameFramework/Config/LoadConfigUpdateEventArgs.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ public sealed class LoadConfigUpdateEventArgs : GameFrameworkEventArgs
1616
/// 初始化加载配置更新事件的新实例。
1717
/// </summary>
1818
/// <param name="configAssetName">配置资源名称。</param>
19+
/// <param name="loadType">配置加载方式。</param>
1920
/// <param name="progress">加载配置进度。</param>
2021
/// <param name="userData">用户自定义数据。</param>
21-
public LoadConfigUpdateEventArgs(string configAssetName, float progress, object userData)
22+
public LoadConfigUpdateEventArgs(string configAssetName, LoadType loadType, float progress, object userData)
2223
{
2324
ConfigAssetName = configAssetName;
25+
LoadType = loadType;
2426
Progress = progress;
2527
UserData = userData;
2628
}
@@ -34,6 +36,15 @@ public string ConfigAssetName
3436
private set;
3537
}
3638

39+
/// <summary>
40+
/// 获取配置加载方式。
41+
/// </summary>
42+
public LoadType LoadType
43+
{
44+
get;
45+
private set;
46+
}
47+
3748
/// <summary>
3849
/// 获取加载配置进度。
3950
/// </summary>

GameFramework/DataTable/DataTableManager.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -793,7 +793,7 @@ private void LoadDataTableSuccessCallback(string dataTableAssetName, object data
793793
{
794794
if (m_LoadDataTableFailureEventHandler != null)
795795
{
796-
m_LoadDataTableFailureEventHandler(this, new LoadDataTableFailureEventArgs(dataTableAssetName, exception.ToString(), loadDataTableInfo.UserData));
796+
m_LoadDataTableFailureEventHandler(this, new LoadDataTableFailureEventArgs(dataTableAssetName, loadDataTableInfo.LoadType, exception.ToString(), loadDataTableInfo.UserData));
797797
return;
798798
}
799799

@@ -806,7 +806,7 @@ private void LoadDataTableSuccessCallback(string dataTableAssetName, object data
806806

807807
if (m_LoadDataTableSuccessEventHandler != null)
808808
{
809-
m_LoadDataTableSuccessEventHandler(this, new LoadDataTableSuccessEventArgs(dataTableAssetName, duration, loadDataTableInfo.UserData));
809+
m_LoadDataTableSuccessEventHandler(this, new LoadDataTableSuccessEventArgs(dataTableAssetName, loadDataTableInfo.LoadType, duration, loadDataTableInfo.UserData));
810810
}
811811
}
812812

@@ -821,7 +821,7 @@ private void LoadDataTableFailureCallback(string dataTableAssetName, LoadResourc
821821
string appendErrorMessage = Utility.Text.Format("Load data table failure, asset name '{0}', status '{1}', error message '{2}'.", dataTableAssetName, status.ToString(), errorMessage);
822822
if (m_LoadDataTableFailureEventHandler != null)
823823
{
824-
m_LoadDataTableFailureEventHandler(this, new LoadDataTableFailureEventArgs(dataTableAssetName, appendErrorMessage, loadDataTableInfo.UserData));
824+
m_LoadDataTableFailureEventHandler(this, new LoadDataTableFailureEventArgs(dataTableAssetName, loadDataTableInfo.LoadType, appendErrorMessage, loadDataTableInfo.UserData));
825825
return;
826826
}
827827

@@ -838,7 +838,7 @@ private void LoadDataTableUpdateCallback(string dataTableAssetName, float progre
838838

839839
if (m_LoadDataTableUpdateEventHandler != null)
840840
{
841-
m_LoadDataTableUpdateEventHandler(this, new LoadDataTableUpdateEventArgs(dataTableAssetName, progress, loadDataTableInfo.UserData));
841+
m_LoadDataTableUpdateEventHandler(this, new LoadDataTableUpdateEventArgs(dataTableAssetName, loadDataTableInfo.LoadType, progress, loadDataTableInfo.UserData));
842842
}
843843
}
844844

GameFramework/DataTable/LoadDataTableFailureEventArgs.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ public sealed class LoadDataTableFailureEventArgs : GameFrameworkEventArgs
1616
/// 初始化加载数据表失败事件的新实例。
1717
/// </summary>
1818
/// <param name="dataTableAssetName">数据表资源名称。</param>
19+
/// <param name="loadType">数据表加载方式。</param>
1920
/// <param name="errorMessage">错误信息。</param>
2021
/// <param name="userData">用户自定义数据。</param>
21-
public LoadDataTableFailureEventArgs(string dataTableAssetName, string errorMessage, object userData)
22+
public LoadDataTableFailureEventArgs(string dataTableAssetName, LoadType loadType, string errorMessage, object userData)
2223
{
2324
DataTableAssetName = dataTableAssetName;
25+
LoadType = loadType;
2426
ErrorMessage = errorMessage;
2527
UserData = userData;
2628
}
@@ -34,6 +36,15 @@ public string DataTableAssetName
3436
private set;
3537
}
3638

39+
/// <summary>
40+
/// 获取数据表加载方式。
41+
/// </summary>
42+
public LoadType LoadType
43+
{
44+
get;
45+
private set;
46+
}
47+
3748
/// <summary>
3849
/// 获取错误信息。
3950
/// </summary>

GameFramework/DataTable/LoadDataTableSuccessEventArgs.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ public sealed class LoadDataTableSuccessEventArgs : GameFrameworkEventArgs
1616
/// 初始化加载数据表成功事件的新实例。
1717
/// </summary>
1818
/// <param name="dataTableAssetName">数据表资源名称。</param>
19+
/// <param name="loadType">数据表加载方式。</param>
1920
/// <param name="duration">加载持续时间。</param>
2021
/// <param name="userData">用户自定义数据。</param>
21-
public LoadDataTableSuccessEventArgs(string dataTableAssetName, float duration, object userData)
22+
public LoadDataTableSuccessEventArgs(string dataTableAssetName, LoadType loadType, float duration, object userData)
2223
{
2324
DataTableAssetName = dataTableAssetName;
25+
LoadType = loadType;
2426
Duration = duration;
2527
UserData = userData;
2628
}
@@ -34,6 +36,15 @@ public string DataTableAssetName
3436
private set;
3537
}
3638

39+
/// <summary>
40+
/// 获取数据表加载方式。
41+
/// </summary>
42+
public LoadType LoadType
43+
{
44+
get;
45+
private set;
46+
}
47+
3748
/// <summary>
3849
/// 获取加载持续时间。
3950
/// </summary>

GameFramework/DataTable/LoadDataTableUpdateEventArgs.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ public sealed class LoadDataTableUpdateEventArgs : GameFrameworkEventArgs
1616
/// 初始化加载数据表更新事件的新实例。
1717
/// </summary>
1818
/// <param name="dataTableAssetName">数据表资源名称。</param>
19+
/// <param name="loadType">数据表加载方式。</param>
1920
/// <param name="progress">加载数据表进度。</param>
2021
/// <param name="userData">用户自定义数据。</param>
21-
public LoadDataTableUpdateEventArgs(string dataTableAssetName, float progress, object userData)
22+
public LoadDataTableUpdateEventArgs(string dataTableAssetName, LoadType loadType, float progress, object userData)
2223
{
2324
DataTableAssetName = dataTableAssetName;
25+
LoadType = loadType;
2426
Progress = progress;
2527
UserData = userData;
2628
}
@@ -34,6 +36,15 @@ public string DataTableAssetName
3436
private set;
3537
}
3638

39+
/// <summary>
40+
/// 获取数据表加载方式。
41+
/// </summary>
42+
public LoadType LoadType
43+
{
44+
get;
45+
private set;
46+
}
47+
3748
/// <summary>
3849
/// 获取加载数据表进度。
3950
/// </summary>

GameFramework/Download/DownloadAgentHelperCompleteEventArgs.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public sealed class DownloadAgentHelperCompleteEventArgs : GameFrameworkEventArg
1818
/// <param name="length">下载的数据大小。</param>
1919
public DownloadAgentHelperCompleteEventArgs(int length)
2020
{
21-
if (length <= 0)
21+
if (length < 0)
2222
{
2323
throw new GameFrameworkException("Length is invalid.");
2424
}

0 commit comments

Comments
 (0)