initial z axis tiles pass

This commit is contained in:
StephenAdamson
2024-12-13 00:19:21 +00:00
parent c14851616b
commit 01e1349ea1
7 changed files with 91 additions and 96 deletions
+2 -29
View File
@@ -60,49 +60,23 @@ pub struct DoorTile {
pub locked: bool,
}
pub fn spawn_tile(
commands: &mut Commands,
position: Vec3,
floor_tile: FloorTile,
// fixture: Option<Fixture>,
items: Vec<Item>,
) {
let tile_entity = commands.spawn((Tile { position }, floor_tile)).id();
// if let Some(fixture) = fixture {
// commands.entity(tile_entity).add_children(&[
// commands
// .spawn((fixture,))
// .id(),
// ]);
// }
let mut child_entities = Vec::new();
for item in items {
child_entities.push(commands.spawn(item).id());
}
commands.entity(tile_entity).add_children(&child_entities);
}
pub fn tile_update(
pub fn tile_sprite_update(
time: Res<Time>,
mut query_tile: Query<(Entity, &Children, &mut TileState), With<Tile>>,
mut query_item: Query<(&mut Visibility, &Item)>,
) {
for (tile_entity, children, mut state) in query_tile.iter_mut() {
for (_, children, mut state) in query_tile.iter_mut() {
state.timer.tick(time.delta());
if !state.timer.finished() {
continue;
}
let mut visible_index: Option<usize> = None;
let mut visible_child: Option<Entity> = None;
for (i, &child) in children.iter().enumerate() {
if let Ok((mut visibility, _)) = query_item.get_mut(child) {
if matches!(*visibility, Visibility::Visible) {
visible_index = Some(i);
visible_child = Some(child);
*visibility = Visibility::Hidden;
break;
}
@@ -118,7 +92,6 @@ pub fn tile_update(
if let Some(&next_child) = children.get(next_index) {
if let Ok((mut visibility, _)) = query_item.get_mut(next_child) {
*visibility = Visibility::Visible;
// println!("{}",next_index.to_string());
}
}
}