Move SpawnAsteroid event into events.rs

This commit is contained in:
2025-08-11 19:16:34 -05:00
parent 571b910945
commit f4484f759f
3 changed files with 11 additions and 10 deletions

View File

@@ -8,8 +8,7 @@ use std::time::Duration;
use bevy::prelude::*;
use crate::{
GameAssets, Lifetime, WorldSize, config::ASTEROID_LIFETIME, events::AsteroidDestroy,
physics::Velocity,
config::ASTEROID_LIFETIME, events::{AsteroidDestroy, SpawnAsteroid}, physics::Velocity, GameAssets, Lifetime, WorldSize
};
#[derive(Component, Deref, DerefMut)]
@@ -51,13 +50,6 @@ impl AsteroidSpawner {
}
}
#[derive(Event)]
pub struct SpawnAsteroid {
pos: Vec2,
vel: Vec2,
size: AsteroidSize,
}
/// Update the asteroid spawn timer and spawn any asteroids
/// that are due this frame.
pub fn tick_asteroid_manager(

View File

@@ -1,5 +1,7 @@
use bevy::prelude::*;
use crate::asteroids::AsteroidSize;
/// Signals that the player's ship has been destroyed.
/// Used when the player collides with an asteroid.
#[derive(Event)]
@@ -10,6 +12,13 @@ pub(crate) struct ShipDestroy;
#[derive(Event)]
pub(crate) struct AsteroidDestroy(pub Entity);
#[derive(Event)]
pub struct SpawnAsteroid {
pub pos: Vec2,
pub vel: Vec2,
pub size: AsteroidSize,
}
// TODO: BulletDestroy
// Which depends on the still-pending Bullet component creation.

View File

@@ -73,7 +73,7 @@ impl Plugin for AsteroidPlugin {
)
.run_if(in_state(GameState::Playing)),
)
.add_event::<asteroids::SpawnAsteroid>()
.add_event::<events::SpawnAsteroid>()
.add_event::<events::AsteroidDestroy>()
.add_event::<events::ShipDestroy>()
.add_event::<events::BulletDestroy>();