door opening

This commit is contained in:
AmadeusWM
2025-04-06 20:59:58 +02:00
parent 6de69ffa07
commit 749d480b85
4 changed files with 68 additions and 34 deletions

View File

@@ -2,8 +2,7 @@ use bevy::prelude::*;
use bevy_rapier3d::prelude::ColliderDisabled;
use crate::{
player::{Player, PlayerAction, toolbar::Item},
util::single_mut,
level_instantiation::Door, player::{toolbar::Item, Player, PlayerAction}, util::single_mut
};
use super::{Interact, ui::InteractionOpportunity};
@@ -79,3 +78,18 @@ pub fn handle_drop(
*item_transform = *transform;
}
}
pub fn handle_door_interaction(
player_query: Query<&PlayerAction, With<Player>>, mut doors: Query<&mut Door>
) {
let Ok(action) = player_query.get_single() else {
return;
};
if *action != PlayerAction::OpenDoor {
return;
}
for mut door in doors.iter_mut() {
door.is_open = !door.is_open;
}
}