diff --git a/GFramework.Core/state/ContextAwareStateBase.cs b/GFramework.Core/state/ContextAwareStateBase.cs
new file mode 100644
index 0000000..c0ca514
--- /dev/null
+++ b/GFramework.Core/state/ContextAwareStateBase.cs
@@ -0,0 +1,65 @@
+using GFramework.Core.Abstractions.architecture;
+using GFramework.Core.Abstractions.rule;
+using GFramework.Core.Abstractions.state;
+
+namespace GFramework.Core.state;
+
+///
+/// 上下文感知状态基类
+/// 提供基础的状态管理功能和架构上下文访问能力
+/// 实现了IState和IContextAware接口
+///
+public class ContextAwareStateBase : IState, IContextAware
+{
+ ///
+ /// 架构上下文引用,用于访问架构相关的服务和数据
+ ///
+ private IArchitectureContext? _context;
+
+ ///
+ /// 设置架构上下文
+ ///
+ /// 架构上下文实例
+ public void SetContext(IArchitectureContext context)
+ {
+ _context = context;
+ }
+
+ ///
+ /// 获取架构上下文
+ ///
+ /// 架构上下文实例
+ public IArchitectureContext GetContext()
+ {
+ return _context!;
+ }
+
+ ///
+ /// 进入状态时调用的方法
+ /// 子类可重写此方法以实现特定的状态进入逻辑
+ ///
+ /// 从哪个状态转换而来,可能为null表示初始状态
+ public virtual void OnEnter(IState? fromState)
+ {
+ }
+
+ ///
+ /// 退出状态时调用的方法
+ /// 子类可重写此方法以实现特定的状态退出逻辑
+ ///
+ /// 将要转换到的目标状态,可能为null表示结束状态
+ public virtual void OnExit(IState? toState)
+ {
+ }
+
+ ///
+ /// 判断当前状态是否可以转换到目标状态
+ /// 子类可重写此方法以实现自定义的状态转换规则
+ ///
+ /// 希望转换到的目标状态对象
+ /// 如果允许转换则返回true,否则返回false
+ public virtual bool CanTransitionTo(IState targetState)
+ {
+ return true;
+ }
+}
\ No newline at end of file