R-Type
Distributed multiplayer game engine in C++
Loading...
Searching...
No Matches
RaylibUIFactory.cpp
Go to the documentation of this file.
1/*
2** EPITECH PROJECT, 2025
3** r-type
4** File description:
5** RaylibUIFactory - Factory for creating Raylib UI elements
6*/
7
13
14namespace UI {
15 RaylibUIFactory::RaylibUIFactory(Graphics::IGraphics &graphics) : _graphics(graphics) {}
16
17 std::unique_ptr<IButton> RaylibUIFactory::CreateButton() {
18 return std::make_unique<RaylibButton>(_graphics);
19 }
20
21 std::unique_ptr<IMenu> RaylibUIFactory::CreateMenu() {
22 return std::make_unique<RaylibMenu>(_graphics);
23 }
24
25 std::unique_ptr<ITextInput> RaylibUIFactory::CreateTextInput() {
26 return std::make_unique<RaylibTextInput>(_graphics);
27 }
28
29 std::unique_ptr<ISlider> RaylibUIFactory::CreateSlider() {
30 return std::make_unique<RaylibSlider>(_graphics);
31 }
32} // namespace UI
Abstract interface for graphics rendering operations.
Definition IGraphics.hpp:32
RaylibUIFactory(Graphics::IGraphics &graphics)
Construct a new RaylibUIFactory.
Graphics::IGraphics & _graphics
Graphics dependency injected into UI elements.
std::unique_ptr< ISlider > CreateSlider() override
Create a slider instance.
std::unique_ptr< IMenu > CreateMenu() override
Create a menu instance.
std::unique_ptr< ITextInput > CreateTextInput() override
Create a text input instance.
std::unique_ptr< IButton > CreateButton() override
Create a button instance.
Definition IButton.hpp:13