ShitEngine
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
Toggle main menu visibility
载入中...
搜索中...
未找到
BehaviorSystem.h
浏览该文件的文档.
1
#pragma once
2
#include "
System.h
"
3
4
namespace
Shit
{
5
class
Behavior
;
6
13
class
SHIT_API
BehaviorSystem
final :
public
System
{
14
public
:
15
BehaviorSystem
(
int
priority = 0);
16
~BehaviorSystem
()
override
;
17
18
void
update
()
override
;
19
void
destroy
()
override
;
20
21
// 组件认领:Behavior 及其子类(如 AnimationComponent)
22
bool
onComponentAttached
(
Component
* component)
override
;
23
void
onComponentDetached
(
Component
* component)
override
;
24
25
void
registerBehavior
(
Behavior
*behavior);
26
void
unregisterBehavior
(
Behavior
*behavior);
27
28
private
:
29
std::vector<Behavior*> m_behaviors;
30
std::vector<Behavior*> m_pendingBehaviors;
31
};
32
}
SHIT_API
#define SHIT_API
定义
Core.h:14
System.h
Shit::Behavior
行为基类 —— 用于编写自定义游戏逻辑
定义
Behavior.h:18
Shit::BehaviorSystem::update
void update() override
每帧更新(纯虚)
Shit::BehaviorSystem::BehaviorSystem
BehaviorSystem(int priority=0)
Shit::BehaviorSystem::onComponentAttached
bool onComponentAttached(Component *component) override
组件挂载时调用。返回 true 表示本系统认领并处理了该组件(组件据此确定已注册)。
Shit::BehaviorSystem::onComponentDetached
void onComponentDetached(Component *component) override
组件卸下时调用。
Shit::BehaviorSystem::unregisterBehavior
void unregisterBehavior(Behavior *behavior)
注销 Behavior(onDetach 时自动调用)
Shit::BehaviorSystem::~BehaviorSystem
~BehaviorSystem() override
Shit::BehaviorSystem::registerBehavior
void registerBehavior(Behavior *behavior)
注册 Behavior(onAttach 时自动调用)
Shit::BehaviorSystem::destroy
void destroy() override
销毁(纯虚)
Shit::Component
组件基类
定义
Component.h:20
Shit::System::System
System(int priority=0)
Shit
定义
AudioPlayer.h:10
include
ShitEngine
System
BehaviorSystem.h
制作者
1.17.0