mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-24 20:34:29 +08:00
- 新增 RunInBatch() 方法支持批处理通知折叠 - 添加 Undo()/Redo() 基于历史缓冲区的状态回退前进功能 - 实现 TimeTravelTo() 跳转到指定历史索引的能力 - 提供 ClearHistory() 以当前状态重置历史锚点的功能 - 支持可选历史缓冲区、撤销/重做和时间旅行功能 - 添加可选批处理通知折叠机制 - 实现多态 action 匹配(基类/接口)支持 - 在诊断信息中增加历史游标和批处理状态 - StoreBuilder 新增 WithHistoryCapacity() 和 WithActionMatching() 配置方法 - 优化 reducer 注册支持全局序号以实现稳定排序 - 实现多态匹配时的类型继承距离计算 - 添加批处理嵌套支持和状态通知延迟机制
20 lines
843 B
C#
20 lines
843 B
C#
namespace GFramework.Core.Abstractions.StateManagement;
|
|
|
|
/// <summary>
|
|
/// 定义 Store 在分发 action 时的 reducer 匹配策略。
|
|
/// 默认使用精确类型匹配,以保持执行结果和顺序的确定性;仅在确有需要时再启用多态匹配。
|
|
/// </summary>
|
|
public enum StoreActionMatchingMode
|
|
{
|
|
/// <summary>
|
|
/// 仅匹配与 action 运行时类型完全相同的 reducer。
|
|
/// 该模式不会命中基类或接口注册,适合作为默认的稳定行为。
|
|
/// </summary>
|
|
ExactTypeOnly = 0,
|
|
|
|
/// <summary>
|
|
/// 在精确类型匹配之外,额外匹配可赋值的基类和接口 reducer。
|
|
/// Store 会保持确定性的执行顺序:精确类型优先,其次是最近的基类,最后是接口注册。
|
|
/// </summary>
|
|
IncludeAssignableTypes = 1
|
|
} |