This commit is contained in:
griffi-gh 2023-11-22 16:51:59 +01:00
parent ac497b0651
commit d848f60301
3 changed files with 17 additions and 1 deletions

View file

@ -37,6 +37,16 @@ impl KubiUi {
} }
} }
pub fn add<T: UiElement>(&mut self, element: T, max_size: Vec2) {
let layout = LayoutInfo {
position: Vec2::ZERO,
max_size,
direction: UiDirection::Vertical,
};
let measure = element.measure(&self.stateful_state, &layout);
element.process(&measure, &mut self.stateful_state, &layout, &mut self.draw_commands.commands);
}
pub fn begin(&mut self) { pub fn begin(&mut self) {
std::mem::swap(&mut self.prev_draw_commands, &mut self.draw_commands); std::mem::swap(&mut self.prev_draw_commands, &mut self.draw_commands);
self.draw_plan_modified = false; self.draw_plan_modified = false;

View file

@ -1,4 +1,5 @@
use kubi_ui::{KubiUi, backend::glium::GliumUiRenderer}; use glam::vec2;
use kubi_ui::{KubiUi, backend::glium::GliumUiRenderer, element::{progress_bar::ProgressBar, UiElement}, UiSize};
use shipyard::{AllStoragesView, Unique, UniqueView, NonSendSync, UniqueViewMut}; use shipyard::{AllStoragesView, Unique, UniqueView, NonSendSync, UniqueViewMut};
use crate::rendering::{Renderer, RenderTarget, WindowSize}; use crate::rendering::{Renderer, RenderTarget, WindowSize};
@ -22,6 +23,10 @@ pub fn kubi_ui_begin(
mut ui: NonSendSync<UniqueViewMut<UiState>> mut ui: NonSendSync<UniqueViewMut<UiState>>
) { ) {
ui.ui.begin(); ui.ui.begin();
ui.ui.add(ProgressBar {
size: (UiSize::Pixels(300.), UiSize::Auto),
..Default::default()
}, vec2(999., 999.));
} }
pub fn kubi_ui_end( pub fn kubi_ui_end(

View file

@ -159,6 +159,7 @@ fn render() -> Workload {
render_entities, render_entities,
).into_sequential_workload().run_if(is_ingame), ).into_sequential_workload().run_if(is_ingame),
legacy_ui_render, legacy_ui_render,
kubi_ui_draw,
).into_sequential_workload() ).into_sequential_workload()
} }