use gamestates and assetloader
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
use crate::{
|
||||
GameState,
|
||||
aim::AimState,
|
||||
billboards::Billboard,
|
||||
npc::Hit,
|
||||
@@ -39,10 +40,11 @@ struct ShotAssets {
|
||||
struct AnimationTimer(Timer);
|
||||
|
||||
pub fn plugin(app: &mut App) {
|
||||
app.add_systems(Startup, setup);
|
||||
app.add_systems(OnEnter(GameState::Playing), setup);
|
||||
app.add_systems(
|
||||
Update,
|
||||
(update, shot_collision, enemy_hit, timeout, animate_sprite),
|
||||
(update, shot_collision, enemy_hit, timeout, animate_sprite)
|
||||
.run_if(in_state(GameState::Playing)),
|
||||
);
|
||||
app.add_observer(on_trigger_state);
|
||||
}
|
||||
@@ -52,6 +54,7 @@ fn setup(
|
||||
asset_server: Res<AssetServer>,
|
||||
mut sprite_params: Sprite3dParams,
|
||||
) {
|
||||
// TODO: use asset server
|
||||
let image = asset_server.load("textures/fx/impact.png");
|
||||
let layout = TextureAtlasLayout::from_grid(UVec2::splat(256), 7, 6, None, None);
|
||||
let texture_atlas_layout = sprite_params.atlas_layouts.add(layout);
|
||||
|
||||
Reference in New Issue
Block a user