Boss Room动作系统
1. 动作系统
Boss Room的动作系统是一个基于对象池的网络同步动作框架,为角色提供了统一的动作执行和管理机制。系统采用了服务器权威的设计模式,同时支持客户端预测以提升游戏体验。
2. 核心组件架构
2.1 核心基类与接口
| 组件 | 职责 | 文件位置 |
|---|---|---|
| Action | 所有动作的抽象基类,定义生命周期和核心方法 | Action.cs |
| ActionConfig | 动作配置数据结构,包含数值属性、动画参数等 | ActionConfig.cs |
| ActionFactory | 基于对象池的动作创建与回收机制 | ActionFactory.cs |
| ActionID | 动作类型的唯一标识符 | ActionID.cs |
| ActionPlayer | 动作播放器接口(客户端/服务器分离实现) | ActionPlayers/ |
2.2 动作播放器
系统将动作播放逻辑分为客户端和服务器两部分:
- ServerActionPlayer:负责服务器端动作的执行、网络同步和权威性验证
- ClientActionPlayer:负责客户端动作的预测、视觉表现和用户输入处理
3. 动作生命周期管理
动作的完整生命周期包含以下阶段:
3.1 动作初始化
// Action.cs - 初始化动作publicvirtualvoidInitialize(refActionRequestDatadata,ActionConfigconfig,ServerCharacterparent){m_Data=data;m_Config=config;m_Parent=parent;Reset();