![]() |
ShitEngine 1.4.2
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
|
#include <BehaviorSystem.h>
Public 成员函数 | |
| BehaviorSystem (int priority=0) | |
| ~BehaviorSystem () override | |
| void | update () override |
| 每帧更新(纯虚) | |
| void | fixedUpdate (float fixedDt) override |
| 固定步阶段(Scene 固定步循环节拍调用):补跑 onStart 后驱动 onFixedUpdate(fixedDt) | |
| void | destroy () override |
| 销毁(纯虚) | |
| bool | onComponentAttached (Component *component) override |
| 组件挂载时调用。返回 true 表示本系统认领并处理了该组件(组件据此确定已注册)。 | |
| void | onComponentDetached (Component *component) override |
| 组件卸下时调用。 | |
| void | registerBehavior (Behavior *behavior) |
| 注册 Behavior(onAttach 时自动调用) | |
| void | unregisterBehavior (Behavior *behavior) |
| 注销 Behavior(onDetach 时自动调用) | |
| void | resetAllBehaviors () |
| 重置全部 Behavior 的启动标志(isStarted=false)——进入运行态时调用, 使 onStart 在运行第一帧重新执行(Unity 式「每次运行从头开始」)。 | |
| Public 成员函数 继承自 System | |
| System (int priority=0) | |
| virtual | ~System () |
| virtual void | init () |
| 初始化(可覆写) | |
| virtual void | onFieldChanged (const std::string &fieldName) |
| 反射字段被编辑器直写后回调(供子系统把字段变更实时同步到运行时状态) | |
| Scene * | getScene () const |
| void | setScene (Scene *scene) |
| int | getPriority () const |
| void | setPriority (int priority) |
额外继承的成员函数 | |
| Protected 成员函数 继承自 System | |
| void | resetComponent (Component *comp) |
| 内部:把认领过的组件标记为未注册(系统销毁/注销时调用)。 否则组件 m_isRegistered 残留 true,同类系统重新注册时 System::init 补扫会跳过它们, 导致组件永久失去驱动系统。 | |
| Protected 属性 继承自 System | |
| int | m_priority |
| 优先级(小值先执行) | |
| Scene * | m_scene = nullptr |
| 所属场景 | |
Behavior 驱动系统
变步长阶段每帧驱动 onStart / onUpdate;固定步阶段驱动 onFixedUpdate(fixedDt)(与物理同拍)。 Behavior 的 onAttach / onDetach 会自动调用 register / unregister。
| BehaviorSystem | ( | int | priority = 0 | ) |
|
override |
|
overridevirtual |
销毁(纯虚)
实现了 System.
|
overridevirtual |
固定步阶段(Scene 固定步循环节拍调用):补跑 onStart 后驱动 onFixedUpdate(fixedDt)
重载 System .
|
overridevirtual |
组件挂载时调用。返回 true 表示本系统认领并处理了该组件(组件据此确定已注册)。
重载 System .
| void registerBehavior | ( | Behavior * | behavior | ) |
注册 Behavior(onAttach 时自动调用)
| void resetAllBehaviors | ( | ) |
重置全部 Behavior 的启动标志(isStarted=false)——进入运行态时调用, 使 onStart 在运行第一帧重新执行(Unity 式「每次运行从头开始」)。
| void unregisterBehavior | ( | Behavior * | behavior | ) |
注销 Behavior(onDetach 时自动调用)
|
overridevirtual |
每帧更新(纯虚)
实现了 System.