R-Type
R-Type project
LobbyMenuManager.hpp
1 /*
2 ** EPITECH PROJECT, 2022
3 ** RType
4 ** File description:
5 ** LobbyMenuManager.hpp
6 */
7 
8 #ifndef RTYPE_LOBBYMENUMANAGER_HPP
9 #define RTYPE_LOBBYMENUMANAGER_HPP
10 
11 #include "KapEngine.hpp"
12 #include "KapMirror/KapMirror.hpp"
13 #include "KapEngineUi.hpp"
14 #include "KapUI/KapUI.hpp"
15 
16 #include "GameMenuManager.hpp"
17 
18 namespace RType {
19 
21  public:
22  explicit LobbyMenuManager(std::shared_ptr<KapEngine::GameObject> go);
23  ~LobbyMenuManager() = default;
24 
25  void onStart() override;
26 
27  void onStartClient() override;
28 
29  void quit();
30 
31  private:
32  void initLobbyMenu(bool local = true);
33 
34  void initBackground(std::shared_ptr<KapEngine::GameObject> parent);
35 
36  std::shared_ptr<KapEngine::GameObject> initButton(std::shared_ptr<KapEngine::GameObject> parent, std::string name, std::string text,
37  std::function<void()> callback,
38  KapEngine::Tools::Color color = KapEngine::Tools::Color::white(),
39  KapEngine::Tools::Color textColor = KapEngine::Tools::Color::black());
40  std::shared_ptr<KapEngine::GameObject> initButton(std::shared_ptr<KapEngine::GameObject> parent, std::string name, std::string text,
41  std::function<void()> callback, std::string pathSprite,
43  KapEngine::Tools::Color color = KapEngine::Tools::Color::white(),
44  KapEngine::Tools::Color textColor = KapEngine::Tools::Color::black());
45 
46  void startGame();
47 
48  // variables
49  private:
50  std::shared_ptr<KapEngine::GameObject> lobbyMenu;
51  std::shared_ptr<KapEngine::UI::Inputfield> mapField;
52  };
53 
54 } // namespace RType
55 
56 #endif // RTYPE_LOBBYMENUMANAGER_HPP
RType::LobbyMenuManager
Definition: LobbyMenuManager.hpp:20
RType::LobbyMenuManager::onStartClient
void onStartClient() override
Like start(), but only called on client.
Definition: LobbyMenuManager.cpp:30
KapEngine::Tools::Color
Definition: Colors.hpp:22
KapEngine::Tools::Rectangle
Definition: Rectangle.hpp:23
RType::LobbyMenuManager::onStart
void onStart() override
call component start
Definition: LobbyMenuManager.cpp:28
KapMirror::NetworkComponent
Definition: NetworkComponent.hpp:9