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,10 +1,9 @@
use std::collections::HashMap;
use crate::{
heads_ui::HEAD_COUNT, keys::KeySpawn, player::head_id_to_str, sounds::PlaySound,
GameState, heads_ui::HEAD_COUNT, keys::KeySpawn, player::head_id_to_str, sounds::PlaySound,
tb_entities::EnemySpawn,
};
use bevy::prelude::*;
use std::collections::HashMap;
#[derive(Event, Reflect)]
pub struct Hit {
@@ -31,10 +30,9 @@ impl Hitpoints {
pub struct NpcHead(pub usize);
pub fn plugin(app: &mut App) {
app.add_systems(Update, init);
app.add_systems(OnEnter(GameState::Playing), init);
}
// TODO: use game state to initialize only once
fn init(mut commands: Commands, query: Query<(Entity, &EnemySpawn), Without<Hitpoints>>) {
let mut names: HashMap<String, usize> = HashMap::default();
for i in 0..HEAD_COUNT {