GeWuYou
|
3a334e5666
|
refactor(state): 移除状态机中的同步方法实现
- 移除 IStateMachine 接口中 Unregister<T>() 方法的同步定义
- 移除 StateMachine 类中 Unregister<T>() 方法的同步实现
- 移除 IStateMachine 接口中 CanChangeTo<T>() 方法的同步定义
- 移除 StateMachine 类中 CanChangeTo<T>() 方法的同步实现
- 移除 IStateMachine 接口中 ChangeTo<T>() 方法的同步定义
- 移除 StateMachine 类中 ChangeTo<T>() 方法的同步实现
- 移除 IStateMachine 接口中 GoBack() 方法的同步定义
- 移除 StateMachine 类中 GoBack() 方法的同步实现
|
2026-02-15 22:59:44 +08:00 |
|
GeWuYou
|
6c53626df8
|
refactor(state): 将状态机实现为完全异步操作并改进线程安全机制
- 添加 SemaphoreSlim 锁确保状态转换的线程安全性
- 将所有同步方法重构为异步方法并移除旧的同步实现
- 使用异步锁替代传统的 lock 机制提升并发性能
- 优化状态历史记录的处理时机和逻辑
- 移除过时的同步状态转换内部方法
- 统一异常处理和资源释放机制
|
2026-02-15 22:59:44 +08:00 |
|
GeWuYou
|
22c1d08dc3
|
feat(state): 实现异步状态基类的同步方法限制
- 为 AsyncContextAwareStateBase 添加同步方法异常抛出机制
- 禁止在异步状态中使用 OnEnter、OnExit 和 CanTransitionTo 同步方法
- 提供清晰的错误提示引导使用对应的异步方法
- 修复 StateMachine 中的状态转换逻辑确保线程安全
- 更新 IAsyncState 接口继承 IState 接口统一状态管理
|
2026-02-15 21:00:38 +08:00 |
|
GeWuYou
|
703328deb2
|
refactor(state): 优化状态机实现并增强上下文安全检查
- 在 ContextAwareStateBase 和 AsyncContextAwareStateBase 中添加架构上下文空值检查
- 引入 HashSet 用于快速检查状态注册状态,提升性能
- 重构注销逻辑,分离准备和完成阶段的处理
- 优化回退功能,跳过已注销的状态并使用 O(1) 复杂度检查
- 统一状态切换中的进入和退出逻辑处理
- 简化状态转换验证流程,提升代码可读性
- 添加辅助方法处理异步状态操作的统一入口
- [release ci]
|
2026-02-15 19:00:06 +08:00 |
|
GeWuYou
|
a5daadea96
|
feat(state): 添加状态机异步操作支持
- 实现了异步注销状态功能 UnregisterAsync
- 添加了异步状态切换检查 CanChangeToAsync
- 实现了异步状态切换功能 ChangeToAsync
- 添加了异步回退到上一状态 GoBackAsync
- 支持同步状态(IState)和异步状态(IAsyncState)的统一管理
- 提供了异步状态转换过程中的回调机制
- 完善了异步状态切换的核心逻辑处理
- [release ci]
|
2026-02-15 19:00:06 +08:00 |
|
GeWuYou
|
b49079de3e
|
style(coding-style): 统一代码风格并优化文档格式
- 移除多余using语句和空行,统一代码缩进格式
- 优化注释文档中的缩进和对齐格式
- 简化条件语句和方法实现,提升代码可读性
- 重构协程系统相关类的字段和方法定义格式
- 更新架构服务中容器访问方式的实现
- 调整异步操作类的属性和方法组织结构
- [skip ci]
|
2026-01-27 20:30:04 +08:00 |
|
GeWuYou
|
ce6cb3f8df
|
refactor(state): 修改状态机接口返回类型支持链式调用
- 将Register方法返回类型从void改为IStateMachine
- 将Unregister方法返回类型从void改为IStateMachine
- 在实现类中添加return this语句
- 更新接口定义以匹配新的返回类型
- 实现链式调用功能提升API易用性
|
2026-01-17 13:20:33 +08:00 |
|
GeWuYou
|
47326085e7
|
fix(state): 修改状态机切换方法返回值类型并改进转换失败处理
- 将ChangeTo方法返回值从void改为bool类型
- 添加转换失败时返回false的逻辑
- 在状态转换被拒绝时调用OnTransitionRejected回调
- 更新接口定义以匹配新的返回值类型
- 修改单元测试以验证转换失败时的返回值
- [skip ci]
|
2026-01-17 10:06:16 +08:00 |
|
GeWuYou
|
b6554c5820
|
refactor(state): 重构状态机实现以支持状态历史记录和线程安全
- 在销毁时添加当前状态退出和所有状态清理逻辑
- 向IStateMachine接口添加状态检查、获取、历史记录等新方法
- 实现线程安全的状态机,添加锁保护并发访问
- 添加状态历史记录功能,支持最大历史数量限制
- 实现GoBack状态回退功能和状态转换验证
- 添加状态切换前后的回调方法
- 在注销状态时从历史记录中移除相关引用
- 添加Unregister方法中的状态转换验证逻辑
|
2026-01-17 08:43:32 +08:00 |
|
GeWuYou
|
c0274074b3
|
feat(state): 添加状态机系统核心功能实现
- 实现了基础状态机StateMachine类,支持状态注册、切换和生命周期管理
- 创建了上下文感知状态机ContextAwareStateMachine,能够感知架构上下文并发送状态变更事件
- 定义了IState和IStateMachine抽象接口,规范状态和状态机的行为契约
- 添加了StateChangedEvent事件类,用于通知状态变更
- 实现了游戏专用状态机GameStateMachine,提供类型安全的状态检查和获取功能
|
2026-01-15 23:04:41 +08:00 |
|