use gamestates and assetloader
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
use super::{BackbackSwapEvent, Backpack, BackpackHead};
|
||||
use crate::heads_ui::HeadsImages;
|
||||
use crate::{GameState, heads_ui::HeadsImages, loading_assets::UIAssets};
|
||||
use bevy::prelude::*;
|
||||
|
||||
static HEAD_SLOTS: usize = 5;
|
||||
@@ -44,20 +44,17 @@ impl BackpackUiState {
|
||||
|
||||
pub fn plugin(app: &mut App) {
|
||||
app.init_resource::<BackpackUiState>();
|
||||
app.add_systems(Startup, setup);
|
||||
app.add_systems(OnEnter(GameState::Playing), setup);
|
||||
app.add_systems(
|
||||
Update,
|
||||
(update, sync_on_change, update_visibility, update_count),
|
||||
(update, sync_on_change, update_visibility, update_count)
|
||||
.run_if(in_state(GameState::Playing)),
|
||||
);
|
||||
|
||||
app.add_observer(swap_head_inputs);
|
||||
}
|
||||
|
||||
fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
|
||||
let bg = asset_server.load("ui/head_bg.png");
|
||||
let regular = asset_server.load("ui/head_regular.png");
|
||||
let damage = asset_server.load("ui/head_damage.png");
|
||||
let selector = asset_server.load("ui/selector.png");
|
||||
|
||||
fn setup(mut commands: Commands, assets: Res<UIAssets>) {
|
||||
commands
|
||||
.spawn((
|
||||
Name::new("backpack"),
|
||||
@@ -75,10 +72,10 @@ fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
|
||||
for i in 0..HEAD_SLOTS {
|
||||
spawn_head_ui(
|
||||
parent,
|
||||
bg.clone(),
|
||||
regular.clone(),
|
||||
selector.clone(),
|
||||
damage.clone(),
|
||||
assets.head_bg.clone(),
|
||||
assets.head_regular.clone(),
|
||||
assets.head_selector.clone(),
|
||||
assets.head_damage.clone(),
|
||||
i,
|
||||
);
|
||||
}
|
||||
@@ -88,7 +85,7 @@ fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
|
||||
Text::new("0"),
|
||||
BackpackCountText,
|
||||
TextFont {
|
||||
font: asset_server.load("font.ttf"),
|
||||
font: assets.font.clone(),
|
||||
font_size: 34.0,
|
||||
..default()
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
mod backpack_ui;
|
||||
|
||||
use crate::heads_ui::HEAD_COUNT;
|
||||
use crate::{GameState, heads_ui::HEAD_COUNT};
|
||||
use bevy::prelude::*;
|
||||
|
||||
pub use backpack_ui::BackpackAction;
|
||||
@@ -28,7 +28,7 @@ pub struct BackbackSwapEvent(pub usize);
|
||||
pub fn plugin(app: &mut App) {
|
||||
app.add_plugins(backpack_ui::plugin);
|
||||
|
||||
app.add_systems(Startup, setup);
|
||||
app.add_systems(OnEnter(GameState::Playing), setup);
|
||||
}
|
||||
|
||||
fn setup(mut commands: Commands) {
|
||||
|
||||
Reference in New Issue
Block a user