Added OnlineGameScene and OnlineGameUIManager class

This commit is contained in:
2025-12-27 20:16:06 +08:00
parent 585c18d56a
commit 4f058ae768
11 changed files with 144 additions and 8 deletions

View File

@@ -23,7 +23,7 @@ public:
void updateGameState(GameState state);
bool handleClick(int logicalX, int logicalY);
private:
protected:
std::function<void()> m_restartCallback;
void setupUIComponents();

View File

@@ -18,6 +18,13 @@ void MainMenuUIManager::init() {
);
m_buttons.emplace(startButton->getNameHash(), std::move(startButton));
auto onlineStartButton = UIWidgetFactory::createStandardButton(
"OnlineStartButton", "联机对战", 275, 250,
[this]() {m_eventCallback("OnlineGameScene"); }
);
m_buttons.emplace(onlineStartButton->getNameHash(), std::move(onlineStartButton));
}

View File

@@ -0,0 +1,13 @@
#pragma once
#include "GameUIManager.h"
#include "network/NetData.h"
class OnlineGameUIManager : public GameUIManager {
public:
using OnlineTypeEvent = std::function<void(NetType )>;
OnlineGameUIManager(SceneEventCallback eventCallback);
~OnlineGameUIManager();
void init() override;
void setOnlineTypeCallback(OnlineTypeEvent type);
private:
OnlineTypeEvent m_onlineTypeEvent;
};