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/GuiTextureBuilder.cpp
|
||||
src/engine/renderer/model/GuiTextureBuilder.h
|
||||
src/game/ui/components/UiBuildingMenuContainer.cpp
|
||||
src/game/ui/components/UiBuildingMenuContainer.h
|
||||
)
|
||||
|
||||
target_compile_options(Dicewars_Siedler PRIVATE
|
||||
|
||||
@ -17,6 +17,7 @@
|
||||
#include "../engine/renderer/model/GUITexture.h"
|
||||
#include "../engine/renderer/model/RenderTargets.h"
|
||||
#include "hexWorld/events/TurnChangedEvent.h"
|
||||
#include "ui/components/UiBuildingMenuContainer.h"
|
||||
#include "ui/components/UiInventoryContainer.h"
|
||||
#include "ui/components/UiRessourceWidget.h"
|
||||
#include "ui/components/factorys/RessourceWidgetFactory.h"
|
||||
@ -36,6 +37,7 @@ void UILayer::onAttach() {
|
||||
|
||||
rootContainer = std::make_unique<UiContainer>();
|
||||
rootContainer->getLayoutStyle().flexDirection = FlexDirection::Column;
|
||||
rootContainer->getLayoutStyle().justifyContent = JustifyContent::SpaceBetween;
|
||||
|
||||
Font myFont("/usr/share/fonts/TTF/DejaVuSans.ttf", 48);
|
||||
font = std::make_unique<Font>(myFont);
|
||||
@ -88,6 +90,20 @@ void UILayer::onAttach() {
|
||||
GLuint backgroundTextureID = AssetManager::getTexture("background")->getTextureID();
|
||||
auto minimap = std::make_unique<UiImage>(minimapTextureID, backgroundTextureID, minimapStyle);
|
||||
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() {
|
||||
|
||||
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