Skip to content

Commit 9ef9f30

Browse files
committed
[增加]1. 增加激活的时候可以由子类去实现数据查询的处理,避免出现数据冗余
1 parent d8970c8 commit 9ef9f30

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

GameFrameX.Core/Components/StateComponent.cs

+14-1
Original file line numberDiff line numberDiff line change
@@ -108,13 +108,26 @@ internal override bool ReadyToInactive
108108
get { return State == null || !State.IsModify(); }
109109
}
110110

111+
/// <summary>
112+
/// 激活状态的时候异步读取数据
113+
/// </summary>
114+
/// <returns>返回查询的数据结果对象,没有数据返回null</returns>
115+
protected virtual Task<TState> ActiveReadStateAsync()
116+
{
117+
return null;
118+
}
119+
111120
/// <summary>
112121
/// 准备状态
113122
/// </summary>
114123
/// <returns></returns>
115124
public async Task ReadStateAsync()
116125
{
117-
State = await GameDb.FindAsync<TState>(ActorId);
126+
State = await ActiveReadStateAsync();
127+
if (State.IsNull())
128+
{
129+
State = await GameDb.FindAsync<TState>(ActorId);
130+
}
118131

119132
StateDic.TryRemove(State.Id, out _);
120133
StateDic.TryAdd(State.Id, State);

0 commit comments

Comments
 (0)