integrated particle system into player positions
This commit is contained in:
parent
f0e5f2f360
commit
f35f7abce7
2 changed files with 100 additions and 11 deletions
22
src/game.rs
22
src/game.rs
|
|
@ -31,7 +31,8 @@ impl Plugin for GamePlugin {
|
|||
.add_system_set(
|
||||
SystemSet::on_update(AppState::Game)
|
||||
.with_system(crate::levels::post_setup_level)
|
||||
.with_system(keyboard_input_system),
|
||||
.with_system(keyboard_input_system)
|
||||
.with_system(character_particle_effect_system),
|
||||
)
|
||||
.add_system_set(SystemSet::on_update(AppState::Win).with_system(keyboard_input_system))
|
||||
.add_system_to_stage(CoreStage::PostUpdate, collision_event_system);
|
||||
|
|
@ -259,6 +260,25 @@ fn keyboard_input_system(
|
|||
}
|
||||
}
|
||||
|
||||
fn character_particle_effect_system(
|
||||
mut characters: Query<(&CharacterId, &Transform, &CharacterColor)>,
|
||||
mut particle_effect: ResMut<crate::particle_effect::ParticleEffectResource>,
|
||||
mut level_query: Query<(&SelectedCharacterId)>,
|
||||
) {
|
||||
if let Ok(selected_character_id) = level_query.get_single_mut() {
|
||||
if let Some(selected_character_id) = &selected_character_id.0 {
|
||||
if let Some((_character_id, transform, color)) = characters
|
||||
.iter_mut()
|
||||
.find(|(character_id, _transform, _color)| {
|
||||
*character_id == selected_character_id
|
||||
}) {
|
||||
particle_effect.translation = transform.translation;
|
||||
particle_effect.color = color.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn win_setup(mut commands: Commands, asset_server: Res<AssetServer>) {
|
||||
let font = asset_server.get_handle("UacariLegacy-Thin.ttf");
|
||||
commands
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue