mirror of
https://github.com/zhenyan121/SporeBG-Conid.git
synced 2026-04-10 06:14:08 +08:00
51 lines
1.3 KiB
C++
51 lines
1.3 KiB
C++
#include "MainMenuScene.h"
|
|
|
|
MainMenuScene::MainMenuScene() {
|
|
// 构造函数实现
|
|
}
|
|
|
|
void MainMenuScene::onEnter(SDL_Renderer* renderer, int width, int height, UIRenderer* uiRenderer, TextureManager* textureManager) {
|
|
// 进入场景时的初始化逻辑
|
|
m_renderer = renderer;
|
|
m_uiRenderer = uiRenderer;
|
|
m_mainMenuUIManager = std::make_unique<MainMenuUIManager>(
|
|
[this](const std::string& sceneName) {
|
|
if (m_eventCallback) {
|
|
SceneEvent event{SceneEventType::ChangeScene, sceneName};
|
|
m_eventCallback(event);
|
|
}
|
|
}
|
|
);
|
|
m_mainMenuUIManager->init();
|
|
}
|
|
|
|
void MainMenuScene::onExit() {
|
|
// 退出场景时的清理逻辑
|
|
m_mainMenuUIManager.reset();
|
|
}
|
|
|
|
void MainMenuScene::update() {
|
|
// 更新场景逻辑
|
|
}
|
|
|
|
void MainMenuScene::renderWorld() {
|
|
|
|
//SDL_FRect test = {20, 20, 20, 20};
|
|
// 渲染场景内容
|
|
//SDL_SetRenderDrawColor(m_renderer, 20, 20,20, 255);
|
|
//SDL_RenderFillRect(m_renderer, &test);
|
|
|
|
}
|
|
|
|
void MainMenuScene::renderUI() {
|
|
const UIRenderData& uiRenderData = m_mainMenuUIManager->getUIRenderData();
|
|
m_uiRenderer->renderUI(uiRenderData);
|
|
}
|
|
|
|
void MainMenuScene::handleClick(int logicalX, int logicalY) {
|
|
// 处理点击事件
|
|
m_mainMenuUIManager->handleClick(logicalX, logicalY);
|
|
}
|
|
|
|
|