cleanup
This commit is contained in:
parent
48f78468c9
commit
6ab89615b7
16
src/world.rs
16
src/world.rs
|
@ -45,17 +45,16 @@ impl Plugin for WorldPlugin {
|
|||
app.insert_resource(AsteroidUpdateTimer(
|
||||
Timer::from_seconds(ASTEROID_UPDATE_INTERVAL, TimerMode::Repeating)));
|
||||
app.insert_resource(ActiveAsteroids(HashMap::new()));
|
||||
app.add_event::<DespawnEvent>();
|
||||
app.add_event::<DespawnAsteroidEvent>();
|
||||
app.add_event::<RespawnEvent>();
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Resource)] struct AsteroidUpdateTimer(Timer);
|
||||
#[derive(Resource)] pub struct ActiveAsteroids(pub HashMap<I64Vec3, AsteroidData>);
|
||||
|
||||
#[derive(Component)] struct Asteroid;
|
||||
#[derive(Component)] pub struct Star;
|
||||
#[derive(Component)] pub struct DespawnOnPlayerDeath;
|
||||
|
||||
#[derive(Event)] pub struct RespawnEvent;
|
||||
|
||||
pub struct AsteroidData {
|
||||
|
@ -64,15 +63,12 @@ pub struct AsteroidData {
|
|||
}
|
||||
|
||||
#[derive(Event)]
|
||||
pub struct DespawnEvent {
|
||||
pub struct DespawnAsteroidEvent {
|
||||
entity: Entity,
|
||||
sceneinstance: InstanceId,
|
||||
origin: I64Vec3,
|
||||
}
|
||||
|
||||
#[derive(Component)]
|
||||
pub struct Star;
|
||||
|
||||
pub fn setup(
|
||||
mut commands: Commands,
|
||||
mut meshes: ResMut<Assets<Mesh>>,
|
||||
|
@ -173,7 +169,7 @@ fn spawn_despawn_asteroids(
|
|||
mut timer: ResMut<AsteroidUpdateTimer>,
|
||||
mut commands: Commands,
|
||||
q_player: Query<&Position, With<actor::PlayerCamera>>,
|
||||
mut ew_despawn: EventWriter<DespawnEvent>,
|
||||
mut ew_despawn: EventWriter<DespawnAsteroidEvent>,
|
||||
mut db: ResMut<ActiveAsteroids>,
|
||||
q_asteroid: Query<(&Position, &SceneInstance), With<Asteroid>>,
|
||||
mut last_player_cell: Local<I64Vec3>,
|
||||
|
@ -221,7 +217,7 @@ fn spawn_despawn_asteroids(
|
|||
{
|
||||
if let Ok((pos, sceneinstance)) = q_asteroid.get(asteroid.entity) {
|
||||
if pos.0.distance(player.0) > 1000.0 {
|
||||
ew_despawn.send(DespawnEvent {
|
||||
ew_despawn.send(DespawnAsteroidEvent {
|
||||
entity: asteroid.entity,
|
||||
sceneinstance: **sceneinstance,
|
||||
origin: origin.clone(),
|
||||
|
@ -337,7 +333,7 @@ fn spawn_despawn_asteroids(
|
|||
|
||||
fn handle_despawn(
|
||||
mut commands: Commands,
|
||||
mut er_despawn: EventReader<DespawnEvent>,
|
||||
mut er_despawn: EventReader<DespawnAsteroidEvent>,
|
||||
mut db: ResMut<ActiveAsteroids>,
|
||||
mut scene_spawner: ResMut<SceneSpawner>,
|
||||
) {
|
||||
|
|
Loading…
Reference in a new issue