Extra2D/include/scene/scene_module.h

49 lines
1.1 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#include <event/events.h>
#include <module/module.h>
#include <module/module_registry.h>
#include <scene/director.h>
namespace extra2d {
/**
* @brief 场景模块
*
* 将导演系统集成到引擎模块系统中
*/
class SceneModule : public Module {
// 优先级为 5在 RendererModule (优先级 4) 之后初始化
E2D_REGISTER_MODULE(SceneModule, "Scene", 5)
public:
SceneModule();
~SceneModule() override;
// 禁止拷贝和移动
SceneModule(const SceneModule &) = delete;
SceneModule &operator=(const SceneModule &) = delete;
SceneModule(SceneModule &&) = delete;
SceneModule &operator=(SceneModule &&) = delete;
// Module 接口实现
bool init() override;
void shutdown() override;
/**
* @brief 获取导演
* @return 导演指针
*/
Director *getDirector() const { return director_.get(); }
private:
Ptr<Director> director_;
// 事件监听器
events::OnUpdate::Listener onUpdateListener_;
events::OnRenderBegin::Listener onRenderBeginListener_;
events::OnRenderEnd::Listener onRenderEndListener_;
};
} // namespace extra2d