Skip to content

Commit 1702ff1

Browse files
committed
[增加]1. 增加状态组件的注释
1 parent 4f2bc5a commit 1702ff1

1 file changed

Lines changed: 31 additions & 11 deletions

File tree

GameFrameX.Core/Components/StateComponent.cs

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,10 @@ static StateComponent()
102102
/// </summary>
103103
public TState State { get; private set; }
104104

105-
105+
/// <summary>
106+
/// 判断组件是否准备好进入非激活状态
107+
/// 当State为空或State未被修改时返回true,表示可以进入非激活状态
108+
/// </summary>
106109
internal override bool ReadyToInactive
107110
{
108111
get { return State == null || !State.IsModify(); }
@@ -123,9 +126,9 @@ protected virtual Task<TState> ActiveReadStateAsync()
123126
protected virtual bool IsCreateDefaultState { get; set; } = true;
124127

125128
/// <summary>
126-
/// 准备状态
129+
/// 准备并读取状态数据
127130
/// </summary>
128-
/// <returns></returns>
131+
/// <returns>异步任务</returns>
129132
public async Task ReadStateAsync()
130133
{
131134
try
@@ -150,9 +153,9 @@ public async Task ReadStateAsync()
150153
}
151154

152155
/// <summary>
153-
/// 激活组件
156+
/// 激活组件,如果状态为空则读取状态数据
154157
/// </summary>
155-
/// <returns></returns>
158+
/// <returns>异步任务</returns>
156159
public override async Task Active()
157160
{
158161
await base.Active();
@@ -165,14 +168,19 @@ public override async Task Active()
165168
}
166169

167170
/// <summary>
168-
/// 反激活组件
171+
/// 反激活组件,从状态字典中移除当前Actor的状态
169172
/// </summary>
173+
/// <returns>异步任务</returns>
170174
public override Task Inactive()
171175
{
172176
StateDic.TryRemove(ActorId, out _);
173177
return base.Inactive();
174178
}
175179

180+
/// <summary>
181+
/// 保存状态到数据库
182+
/// </summary>
183+
/// <returns>异步任务</returns>
176184
internal override async Task SaveState()
177185
{
178186
try
@@ -189,24 +197,36 @@ internal override async Task SaveState()
189197
}
190198

191199
/// <summary>
192-
/// 更新状态
200+
/// 异步写入状态到数据库
193201
/// </summary>
194-
/// <returns></returns>
202+
/// <returns>异步任务</returns>
195203
public async Task WriteStateAsync()
196204
{
197205
await SaveState();
198206
}
199207

208+
/// <summary>
209+
/// 保存数据的虚方法,可被子类重写
210+
/// </summary>
211+
/// <returns>异步任务</returns>
212+
public virtual Task SaveAsync()
213+
{
214+
return WriteStateAsync();
215+
}
200216

201217
#region 仅DBModel.Mongodb调用
202218

219+
/// <summary>
220+
/// 单次批量保存的最大数量
221+
/// </summary>
203222
private const int ONCE_SAVE_COUNT = 500;
204223

205224
/// <summary>
206-
/// 保存全部数据
225+
/// 保存所有状态数据到数据库
207226
/// </summary>
208-
/// <param name="shutdown"></param>
209-
/// <param name="force"></param>
227+
/// <param name="shutdown">是否为关服保存</param>
228+
/// <param name="force">是否强制保存所有数据</param>
229+
/// <returns>异步任务</returns>
210230
public static async Task SaveAll(bool shutdown, bool force = false)
211231
{
212232
var idList = new List<long>();

0 commit comments

Comments
 (0)