Extra2D/examples/hello_module/main.cpp

56 lines
1.0 KiB
C++

#include "hello_module.h"
#include <extra2d/app/application.h>
#include <extra2d/scene/scene.h>
#include <extra2d/services/scene_service.h>
#include <extra2d/utils/logger.h>
using namespace extra2d;
/**
* @brief 自定义场景类
*
* 展示如何在场景中使用自定义模块
*/
class HelloScene : public Scene {
public:
static Ptr<HelloScene> create() { return makeShared<HelloScene>(); }
void onEnter() override {
Scene::onEnter();
E2D_LOG_INFO("HelloScene entered");
setBackgroundColor(Color(0.1f, 0.1f, 0.2f, 1.0f));
}
private:
};
/**
* @brief 应用程序入口
*/
int main(int argc, char *argv[]) {
Application &app = Application::get();
HelloModule helloModule;
app.use(helloModule);
AppConfig appConfig;
appConfig.appName = "HelloModule Example";
appConfig.appVersion = "1.0.0";
if (!app.init(appConfig)) {
E2D_LOG_ERROR("Failed to initialize application");
return 1;
}
auto scene = HelloScene::create();
app.enterScene(scene);
app.run();
app.shutdown();
return 0;
}