//
// Created by sebastian on 06.08.26.
//

#ifndef COLORRACE_MAINMENUSCENE_H
#define COLORRACE_MAINMENUSCENE_H
#include <utility>

#include "layer/Scene.h"
#include "multiplayer/LudoNetworkEvents.h"


class MainMenuScene : public engine::Scene {
public:
    MainMenuScene(std::shared_ptr<engine::EventBus<ApplicationEvents>> applicationEventbus, std::shared_ptr<engine::EventBus<NetworkEvents>> networkEventbus, engine::InputContextStack& inputContext, engine::Keyboard& keyboard, engine::Mouse& mouse) : Scene(std::move(applicationEventbus), inputContext, keyboard, mouse), m_networkEventBus(std::move(networkEventbus)) {}
    void onEnter() override;
    std::vector<engine::AssetRequest> getRequiredAssets() const override;
private:
    std::shared_ptr<engine::EventBus<NetworkEvents>> m_networkEventBus;
};


#endif //COLORRACE_MAINMENUSCENE_H
