implement power, WIP suit systems (defunct)
This commit is contained in:
parent
41d97942de
commit
cef6e5cce7
28
src/hud.rs
28
src/hud.rs
|
@ -26,7 +26,7 @@ fn setup(
|
|||
settings: Res<settings::Settings>,
|
||||
asset_server: Res<AssetServer>,
|
||||
) {
|
||||
let visibility = if settings.ar_active {
|
||||
let visibility = if settings.hud_active {
|
||||
Visibility::Inherited
|
||||
} else {
|
||||
Visibility::Hidden
|
||||
|
@ -51,7 +51,25 @@ fn setup(
|
|||
}
|
||||
),
|
||||
TextSection::new(
|
||||
"\n OXYGEN ",
|
||||
"\n 电量 ",
|
||||
TextStyle {
|
||||
font: asset_server.load(FONT),
|
||||
font_size: settings.font_size_hud,
|
||||
color: Color::GRAY,
|
||||
..default()
|
||||
},
|
||||
),
|
||||
TextSection::new(
|
||||
"",
|
||||
TextStyle {
|
||||
font: asset_server.load(FONT),
|
||||
font_size: settings.font_size_hud,
|
||||
color: Color::GRAY,
|
||||
..default()
|
||||
}
|
||||
),
|
||||
TextSection::new(
|
||||
"\n 氧 OXYGEN ",
|
||||
TextStyle {
|
||||
font: asset_server.load(FONT),
|
||||
font_size: settings.font_size_hud,
|
||||
|
@ -109,10 +127,12 @@ fn update(
|
|||
text.sections[1].value = format!("{value:.0}");
|
||||
}
|
||||
}
|
||||
let power = playervars.power;
|
||||
text.sections[3].value = format!("{power:}Wh");
|
||||
let oxygen = playervars.oxygen * 100.0;
|
||||
text.sections[3].value = format!("{oxygen:.1}%");
|
||||
text.sections[5].value = format!("{oxygen:.1}%");
|
||||
let adrenaline = playervars.adrenaline * 990.0 + 10.0;
|
||||
text.sections[5].value = format!("{adrenaline:.0}pg/mL");
|
||||
text.sections[7].value = format!("{adrenaline:.0}pg/mL");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use crate::settings;
|
||||
use bevy::prelude::*;
|
||||
use bevy::window::PrimaryWindow;
|
||||
|
||||
|
@ -18,11 +19,39 @@ impl Default for Player {
|
|||
}
|
||||
}
|
||||
|
||||
pub enum SuitSystemHandler {
|
||||
Heat,
|
||||
None,
|
||||
}
|
||||
|
||||
#[derive(Component)]
|
||||
pub struct PlayerEntity;
|
||||
|
||||
#[derive(Component)]
|
||||
pub struct SuitSystem {
|
||||
pub name: String,
|
||||
pub active: bool,
|
||||
pub power: f32,
|
||||
pub handler: SuitSystemHandler,
|
||||
}
|
||||
|
||||
impl Default for SuitSystem {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
name: "Untitled".to_string(),
|
||||
active: true,
|
||||
power: 0.0,
|
||||
handler: SuitSystemHandler::None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Resource)]
|
||||
pub struct PlayerVars {
|
||||
pub oxygen: f32,
|
||||
pub adrenaline: f32,
|
||||
pub adrenaline_jolt: f32,
|
||||
pub power: f32,
|
||||
}
|
||||
|
||||
impl Default for PlayerVars {
|
||||
|
@ -31,12 +60,30 @@ impl Default for PlayerVars {
|
|||
oxygen: 0.1984,
|
||||
adrenaline: 0.1,
|
||||
adrenaline_jolt: 0.5,
|
||||
power: 6200.0,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn setup(mut commands: Commands) {
|
||||
pub fn setup(
|
||||
mut commands: Commands,
|
||||
settings: Res<settings::Settings>,
|
||||
) {
|
||||
commands.spawn(Player::default());
|
||||
commands.spawn((
|
||||
PlayerEntity,
|
||||
SuitSystem {
|
||||
name: "HUD".to_string(),
|
||||
active: settings.hud_active,
|
||||
power: -0.05,
|
||||
..default()
|
||||
},
|
||||
SuitSystem {
|
||||
name: "Heater".to_string(),
|
||||
handler: SuitSystemHandler::Heat,
|
||||
..default()
|
||||
}
|
||||
));
|
||||
}
|
||||
|
||||
pub fn handle_input(
|
||||
|
|
|
@ -9,7 +9,7 @@ pub struct Settings {
|
|||
pub font_size_hud: f32,
|
||||
pub font_size_conversations: f32,
|
||||
pub key_togglehud: KeyCode,
|
||||
pub ar_active: bool,
|
||||
pub hud_active: bool,
|
||||
}
|
||||
|
||||
impl Default for Settings {
|
||||
|
@ -22,7 +22,7 @@ impl Default for Settings {
|
|||
font_size_hud: 32.0,
|
||||
font_size_conversations: 32.0,
|
||||
key_togglehud: KeyCode::Tab,
|
||||
ar_active: true,
|
||||
hud_active: true,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue