use gamestates and assetloader

This commit is contained in:
2025-03-26 02:18:40 +01:00
parent 9842148010
commit ac87da83d8
25 changed files with 245 additions and 123 deletions

View File

@@ -1,7 +1,9 @@
mod target_ui;
use crate::{
GameState,
billboards::Billboard,
loading_assets::UIAssets,
player::{Player, PlayerRig},
tb_entities::EnemySpawn,
};
@@ -43,14 +45,17 @@ pub fn plugin(app: &mut App) {
app.add_plugins(target_ui::plugin);
app.add_systems(Update, (update, move_marker));
app.add_systems(
Update,
(update, move_marker).run_if(in_state(GameState::Playing)),
);
app.add_observer(marker_event);
}
fn marker_event(
trigger: Trigger<MarkerEvent>,
mut commands: Commands,
asset_server: Res<AssetServer>,
assets: Res<UIAssets>,
mut sprite_params: Sprite3dParams,
marker: Query<Entity, With<Marker>>,
) {
@@ -62,8 +67,6 @@ fn marker_event(
return;
};
let selector = asset_server.load("ui/selector.png");
let id = commands
.spawn((
Name::new("aim-marker"),
@@ -71,7 +74,7 @@ fn marker_event(
Marker,
Transform::default(),
Sprite3dBuilder {
image: selector,
image: assets.head_selector.clone(),
pixels_per_metre: 30.,
alpha_mode: AlphaMode::Blend,
unlit: true,