Skip to content

Commit

Permalink
integrate all toolbar icons
Browse files Browse the repository at this point in the history
  • Loading branch information
Uriopass committed Jan 25, 2024
1 parent 05494cb commit f4a4d70
Show file tree
Hide file tree
Showing 16 changed files with 81 additions and 37 deletions.
File renamed without changes
3 changes: 0 additions & 3 deletions assets/ui/icons/curved_road.png

This file was deleted.

3 changes: 3 additions & 0 deletions assets/ui/icons/select_triangle_under.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 0 additions & 3 deletions assets/ui/icons/straight_road.png

This file was deleted.

3 changes: 3 additions & 0 deletions assets/ui/icons/toolbar_bulldozer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions assets/ui/icons/toolbar_companies.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions assets/ui/icons/toolbar_curved_road.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions assets/ui/icons/toolbar_housetool.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions assets/ui/icons/toolbar_road_edit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions assets/ui/icons/toolbar_straight_road.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions assets/ui/icons/toolbar_terraform.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions assets/ui/icons/toolbar_train.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
7 changes: 5 additions & 2 deletions native_app/src/gui/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -183,12 +183,15 @@ impl UiTextures {
}

pub fn get(&self, name: &str) -> TextureId {
self.textures.get(name).unwrap().id()
match self.textures.get(name) {
None => panic!("Couldn't find texture (egui) {}", name),
Some(x) => x.id(),
}
}

pub fn get_yakui(&self, name: &str) -> yakui::TextureId {
match self.yakui_textures.get(name) {
None => panic!("Couldn't find texture {}", name),
None => panic!("Couldn't find texture (yakui) {}", name),
Some(x) => *x,
}
}
Expand Down
4 changes: 2 additions & 2 deletions native_app/src/gui/topgui.rs
Original file line number Diff line number Diff line change
Expand Up @@ -185,10 +185,10 @@ impl Gui {
let tools = [
("road", Tab::Roadbuild, Tool::RoadbuildStraight),
("curved", Tab::Roadcurved, Tool::RoadbuildCurved),
("road_edit", Tab::Roadeditor, Tool::RoadEditor),
("road_edit_old", Tab::Roadeditor, Tool::RoadEditor),
("housebrush", Tab::Housebrush, Tool::LotBrush),
("buildings", Tab::Roadbuilding, Tool::SpecialBuilding),
("bulldozer", Tab::Bulldozer, Tool::Bulldozer),
("bulldozer_old", Tab::Bulldozer, Tool::Bulldozer),
("traintool", Tab::Train, Tool::Train),
("terraform", Tab::Terraforming, Tool::Terraforming),
];
Expand Down
74 changes: 47 additions & 27 deletions native_app/src/newgui/topgui.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
use ordered_float::OrderedFloat;
use yakui::widgets::{List, Pad};
use yakui::{
constrained, reflow, row, spacer, Alignment, Color, Constraints, CrossAxisAlignment, Dim2,
MainAxisAlignment, MainAxisSize, Vec2,
column, constrained, image, reflow, row, spacer, Alignment, Color, Constraints,
CrossAxisAlignment, Dim2, MainAxisAlignment, MainAxisSize, Vec2,
};

use goryak::{
Expand Down Expand Up @@ -145,14 +145,14 @@ impl Gui {
}

let tools = [
("straight_road", Tool::RoadbuildStraight),
("curved_road", Tool::RoadbuildCurved),
//("road_edit", Tool::RoadEditor),
//("housebrush", Tool::LotBrush),
//("buildings", Tool::SpecialBuilding),
//("bulldozer", Tool::Bulldozer),
//("traintool", Tool::Train),
//("terraform", Tool::Terraforming),
("toolbar_straight_road", Tool::RoadbuildStraight),
("toolbar_curved_road", Tool::RoadbuildCurved),
("toolbar_road_edit", Tool::RoadEditor),
("toolbar_housetool", Tool::LotBrush),
("toolbar_companies", Tool::SpecialBuilding),
("toolbar_bulldozer", Tool::Bulldozer),
("toolbar_train", Tool::Train),
("toolbar_terraform", Tool::Terraforming),
];

yakui::reflow(Alignment::TOP_LEFT, Dim2::ZERO, || {
Expand All @@ -167,25 +167,45 @@ impl Gui {
padxy(0.0, 10.0, || {
let mut l = List::row();
l.main_axis_alignment = MainAxisAlignment::Center;
l.item_spacing = 10.0;
l.show(|| {
for (name, tool) in &tools {
let tint = if *tool == *uiworld.read::<Tool>() {
primary()
} else {
Color::WHITE
};

if image_button(
uiworld.read::<UiTextures>().get_yakui(name),
Vec2::new(64.0, 64.0),
tint,
Color::WHITE.with_alpha(0.7),
primary(),
)
.clicked
{
*uiworld.write::<Tool>() = *tool;
}
let (default_col, hover_col) =
if *tool == *uiworld.read::<Tool>() {
let c = primary().lerp(&Color::WHITE, 0.3);
(c, c)
} else {
(Color::WHITE, Color::WHITE.with_alpha(0.7))
};

column(|| {
if image_button(
uiworld.read::<UiTextures>().get_yakui(name),
Vec2::new(64.0, 64.0),
default_col,
hover_col,
primary(),
)
.clicked
{
*uiworld.write::<Tool>() = *tool;
}

if *tool == *uiworld.read::<Tool>() {
reflow(
Alignment::CENTER_LEFT,
Dim2::pixels(0.0, 32.0),
|| {
image(
uiworld
.read::<UiTextures>()
.get_yakui("select_triangle_under"),
Vec2::new(64.0, 10.0),
);
},
);
}
});
}
});
});
Expand Down

0 comments on commit f4a4d70

Please sign in to comment.