hide entire hud when toggling interface

Former-commit-id: 969564ecfd85df0477db4216cd8974adf2df1921
This commit is contained in:
Imbris
2019-04-20 11:17:29 -04:00
parent 2147774665
commit 83ed5200b0
3 changed files with 368 additions and 363 deletions

View File

@ -487,7 +487,11 @@ impl Hud {
const MANA_COLOR: Color = Color::Rgba(0.42, 0.41, 0.66, 1.0); const MANA_COLOR: Color = Color::Rgba(0.42, 0.41, 0.66, 1.0);
const XP_COLOR: Color = Color::Rgba(0.59, 0.41, 0.67, 1.0); const XP_COLOR: Color = Color::Rgba(0.59, 0.41, 0.67, 1.0);
if self.show_ui { // Don't show anything if the ui is toggled off
if !self.show_ui {
return events;
}
// Add Bag-Space Button // Add Bag-Space Button
if self.inventorytest_button { if self.inventorytest_button {
if Button::image(self.imgs.mmap_button) if Button::image(self.imgs.mmap_button)
@ -858,7 +862,7 @@ impl Hud {
//.label_font_size(5) //.label_font_size(5)
//.set(self.ids.inv_slot[i], ui_widgets);} //.set(self.ids.inv_slot[i], ui_widgets);}
} }
}
// Bag // Bag
if !self.map_open { if !self.map_open {
self.bag_open = ToggleButton::new(self.bag_open, self.imgs.bag, self.imgs.bag_open) self.bag_open = ToggleButton::new(self.bag_open, self.imgs.bag, self.imgs.bag_open)
@ -1538,13 +1542,18 @@ impl Hud {
pub fn handle_event(&mut self, event: WinEvent) -> bool { pub fn handle_event(&mut self, event: WinEvent) -> bool {
match event { match event {
WinEvent::Ui(event) => { WinEvent::Ui(event) => {
if (self.typing() && event.is_keyboard()) if (self.typing() && event.is_keyboard() && self.show_ui)
|| !(self.cursor_grabbed && event.is_keyboard_or_mouse()) || !(self.cursor_grabbed && event.is_keyboard_or_mouse())
{ {
self.ui.handle_event(event); self.ui.handle_event(event);
} }
true true
} }
WinEvent::KeyDown(Key::ToggleInterface) => {
self.toggle_ui();
true
}
_ if !self.show_ui => false,
WinEvent::Zoom(_) => !self.cursor_grabbed && !self.ui.no_widget_capturing_mouse(), WinEvent::Zoom(_) => !self.cursor_grabbed && !self.ui.no_widget_capturing_mouse(),
WinEvent::KeyDown(Key::Enter) => { WinEvent::KeyDown(Key::Enter) => {
self.ui.focus_widget(if self.typing() { self.ui.focus_widget(if self.typing() {
@ -1596,10 +1605,6 @@ impl Hud {
self.toggle_help(); self.toggle_help();
true true
} }
Key::Interface => {
self.toggle_ui();
true
}
_ => false, _ => false,
}, },
WinEvent::KeyDown(key) | WinEvent::KeyUp(key) => match key { WinEvent::KeyDown(key) | WinEvent::KeyUp(key) => match key {

View File

@ -34,7 +34,7 @@ pub struct ControlSettings {
pub spellbook: VirtualKeyCode, pub spellbook: VirtualKeyCode,
pub settings: VirtualKeyCode, pub settings: VirtualKeyCode,
pub help: VirtualKeyCode, pub help: VirtualKeyCode,
pub interface: VirtualKeyCode, pub toggle_interface: VirtualKeyCode,
} }
impl Default for Settings { impl Default for Settings {
@ -56,7 +56,7 @@ impl Default for Settings {
spellbook: VirtualKeyCode::P, spellbook: VirtualKeyCode::P,
settings: VirtualKeyCode::N, settings: VirtualKeyCode::N,
help: VirtualKeyCode::F1, help: VirtualKeyCode::F1,
interface: VirtualKeyCode::F2, toggle_interface: VirtualKeyCode::F2,
}, },
} }
} }

View File

@ -51,7 +51,7 @@ impl Window {
key_map.insert(settings.controls.spellbook, Key::Spellbook); key_map.insert(settings.controls.spellbook, Key::Spellbook);
key_map.insert(settings.controls.settings, Key::Settings); key_map.insert(settings.controls.settings, Key::Settings);
key_map.insert(settings.controls.help, Key::Help); key_map.insert(settings.controls.help, Key::Help);
key_map.insert(settings.controls.interface, Key::Interface); key_map.insert(settings.controls.toggle_interface, Key::ToggleInterface);
let tmp = Ok(Self { let tmp = Ok(Self {
events_loop, events_loop,
@ -180,7 +180,7 @@ pub enum Key {
Social, Social,
Spellbook, Spellbook,
Settings, Settings,
Interface, ToggleInterface,
Help, Help,
} }