ADD: BuildingMenuContainerContainer with(temporary solution to set rootLayout.justifyContent to SpaceBetween) until flexGrowth is supported
This commit is contained in:
parent
b3ad023729
commit
9f0d1e0f19
@ -213,6 +213,8 @@ add_executable(Dicewars_Siedler src/main.cpp
|
|||||||
src/engine/renderer/model/RenderTargets.h
|
src/engine/renderer/model/RenderTargets.h
|
||||||
src/engine/renderer/model/GuiTextureBuilder.cpp
|
src/engine/renderer/model/GuiTextureBuilder.cpp
|
||||||
src/engine/renderer/model/GuiTextureBuilder.h
|
src/engine/renderer/model/GuiTextureBuilder.h
|
||||||
|
src/game/ui/components/UiBuildingMenuContainer.cpp
|
||||||
|
src/game/ui/components/UiBuildingMenuContainer.h
|
||||||
)
|
)
|
||||||
|
|
||||||
target_compile_options(Dicewars_Siedler PRIVATE
|
target_compile_options(Dicewars_Siedler PRIVATE
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
#include "../engine/renderer/model/GUITexture.h"
|
#include "../engine/renderer/model/GUITexture.h"
|
||||||
#include "../engine/renderer/model/RenderTargets.h"
|
#include "../engine/renderer/model/RenderTargets.h"
|
||||||
#include "hexWorld/events/TurnChangedEvent.h"
|
#include "hexWorld/events/TurnChangedEvent.h"
|
||||||
|
#include "ui/components/UiBuildingMenuContainer.h"
|
||||||
#include "ui/components/UiInventoryContainer.h"
|
#include "ui/components/UiInventoryContainer.h"
|
||||||
#include "ui/components/UiRessourceWidget.h"
|
#include "ui/components/UiRessourceWidget.h"
|
||||||
#include "ui/components/factorys/RessourceWidgetFactory.h"
|
#include "ui/components/factorys/RessourceWidgetFactory.h"
|
||||||
@ -36,6 +37,7 @@ void UILayer::onAttach() {
|
|||||||
|
|
||||||
rootContainer = std::make_unique<UiContainer>();
|
rootContainer = std::make_unique<UiContainer>();
|
||||||
rootContainer->getLayoutStyle().flexDirection = FlexDirection::Column;
|
rootContainer->getLayoutStyle().flexDirection = FlexDirection::Column;
|
||||||
|
rootContainer->getLayoutStyle().justifyContent = JustifyContent::SpaceBetween;
|
||||||
|
|
||||||
Font myFont("/usr/share/fonts/TTF/DejaVuSans.ttf", 48);
|
Font myFont("/usr/share/fonts/TTF/DejaVuSans.ttf", 48);
|
||||||
font = std::make_unique<Font>(myFont);
|
font = std::make_unique<Font>(myFont);
|
||||||
@ -88,6 +90,20 @@ void UILayer::onAttach() {
|
|||||||
GLuint backgroundTextureID = AssetManager::getTexture("background")->getTextureID();
|
GLuint backgroundTextureID = AssetManager::getTexture("background")->getTextureID();
|
||||||
auto minimap = std::make_unique<UiImage>(minimapTextureID, backgroundTextureID, minimapStyle);
|
auto minimap = std::make_unique<UiImage>(minimapTextureID, backgroundTextureID, minimapStyle);
|
||||||
rootContainer->addChild(std::move(minimap));
|
rootContainer->addChild(std::move(minimap));
|
||||||
|
|
||||||
|
float screenHeight = Application::getInstance().getWindow().GetHeight();
|
||||||
|
float menuHeight = 200.f;
|
||||||
|
|
||||||
|
auto buildingMenuContainer = std::make_unique<UiBuildingMenuContainer>();
|
||||||
|
auto buildingMenuContainerContainer = std::make_unique<UiContainer>();
|
||||||
|
buildingMenuContainerContainer->getLayoutStyle().width = SizeValue(1.f, SizeUnit::Percent);
|
||||||
|
buildingMenuContainerContainer->getLayoutStyle().height = SizeValue(200, SizeUnit::Pixels);
|
||||||
|
buildingMenuContainerContainer->getLayoutStyle().flexDirection = FlexDirection::Row;
|
||||||
|
buildingMenuContainerContainer->getLayoutStyle().alignItems = AlignItems::Center;
|
||||||
|
buildingMenuContainerContainer->getLayoutStyle().justifyContent = JustifyContent::Center;
|
||||||
|
buildingMenuContainerContainer->addChild(std::move(buildingMenuContainer));
|
||||||
|
|
||||||
|
rootContainer->addChild(std::move(buildingMenuContainerContainer));
|
||||||
}
|
}
|
||||||
|
|
||||||
void UILayer::onUpdate() {
|
void UILayer::onUpdate() {
|
||||||
|
|||||||
26
src/game/ui/components/UiBuildingMenuContainer.cpp
Normal file
26
src/game/ui/components/UiBuildingMenuContainer.cpp
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
//
|
||||||
|
// Created by sebastian on 15.02.26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "UiBuildingMenuContainer.h"
|
||||||
|
|
||||||
|
#include "../../../engine/renderer/loader/AssetManager.h"
|
||||||
|
|
||||||
|
UiBuildingMenuContainer::UiBuildingMenuContainer() {
|
||||||
|
uiPositioner.getLayout().height = SizeValue(200.f, SizeUnit::Pixels);
|
||||||
|
uiPositioner.getLayout().width = SizeValue(.6f, SizeUnit::Percent);
|
||||||
|
uiPositioner.getLayout().flexDirection = FlexDirection::Row;
|
||||||
|
uiPositioner.getLayout().justifyContent = JustifyContent::Center;
|
||||||
|
uiPositioner.getLayout().alignItems = AlignItems::Center;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UiBuildingMenuContainer::onCollectRenderData(UiRenderBundle &uiRenderBundle) {
|
||||||
|
UiComponent::onCollectRenderData(uiRenderBundle);
|
||||||
|
|
||||||
|
GUITextureBuilder textureBuilder;
|
||||||
|
textureBuilder = textureBuilder.Foreground(AssetManager::getTexture("background")->getTextureID());
|
||||||
|
textureBuilder = textureBuilder.Position(glm::vec2(uiPositioner.screenSpace.x, uiPositioner.screenSpace.y));
|
||||||
|
textureBuilder = textureBuilder.Scale(glm::vec2(uiPositioner.screenSpace.width, uiPositioner.screenSpace.height));
|
||||||
|
|
||||||
|
uiRenderBundle.addGUITexture(std::make_shared<GUITexture>(textureBuilder.Build()));
|
||||||
|
}
|
||||||
18
src/game/ui/components/UiBuildingMenuContainer.h
Normal file
18
src/game/ui/components/UiBuildingMenuContainer.h
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
//
|
||||||
|
// Created by sebastian on 15.02.26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef DICEWARS_SIEDLER_UIBUILDINGMENUCONTAINER_H
|
||||||
|
#define DICEWARS_SIEDLER_UIBUILDINGMENUCONTAINER_H
|
||||||
|
#include "../../../engine/core/gui/uiComponent/UiComponent.h"
|
||||||
|
|
||||||
|
|
||||||
|
class UiBuildingMenuContainer : public UiComponent {
|
||||||
|
public:
|
||||||
|
UiBuildingMenuContainer();
|
||||||
|
protected:
|
||||||
|
void onCollectRenderData(UiRenderBundle &uiRenderBundle) override;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif //DICEWARS_SIEDLER_UIBUILDINGMENUCONTAINER_H
|
||||||
Loading…
Reference in New Issue
Block a user