From 886d1629633c9121655d9864f1a416f32ffc3dd3 Mon Sep 17 00:00:00 2001 From: popertots Date: Sun, 15 Feb 2026 18:56:38 +0000 Subject: [PATCH] dropped item rotation --- .../item/prefabs/misc/misc_prefabs.rs | 20 +++- src/entities/item/systems.rs | 99 +++++++++++++++++++ src/main.rs | 12 ++- src/world/mod.rs | 3 +- src/world/tiles/tilemap.rs | 87 +--------------- src/world/tiles/visibility.rs | 22 ++++- 6 files changed, 146 insertions(+), 97 deletions(-) diff --git a/src/entities/item/prefabs/misc/misc_prefabs.rs b/src/entities/item/prefabs/misc/misc_prefabs.rs index de76d34..0fcb248 100644 --- a/src/entities/item/prefabs/misc/misc_prefabs.rs +++ b/src/entities/item/prefabs/misc/misc_prefabs.rs @@ -1,6 +1,8 @@ use bevy::prelude::*; -use crate::entities::item::{Item, ItemBundle, ItemDecorations, ItemType, Material, Quality}; +use crate::entities::item::{ + Item, ItemBundle, ItemDecorations, ItemRotationState, ItemType, Material, Quality, +}; use crate::world::tiles::tilemap; use crate::world::VisibleGameEntity; @@ -48,7 +50,13 @@ pub fn spawn_prefab( tilemap .item_tiles .insert(position.as_ivec3(), items.clone()); - return commands.entity(meat).insert(VisibleGameEntity).id(); + return commands + .entity(meat) + .insert(VisibleGameEntity) + .insert(ItemRotationState { + should_be_visible: true, + }) + .id(); } MiscPrefab::Coin => { let coin = commands @@ -77,7 +85,13 @@ pub fn spawn_prefab( tilemap .item_tiles .insert(position.as_ivec3(), items.clone()); - commands.entity(coin).insert(VisibleGameEntity).id() + commands + .entity(coin) + .insert(VisibleGameEntity) + .insert(ItemRotationState { + should_be_visible: true, + }) + .id() } } } diff --git a/src/entities/item/systems.rs b/src/entities/item/systems.rs index 698789e..237d401 100644 --- a/src/entities/item/systems.rs +++ b/src/entities/item/systems.rs @@ -1,4 +1,5 @@ use bevy::prelude::*; +use bevy_platform::collections::HashMap; use crate::entities::item::decorations::ItemDecorations; use crate::entities::item::material::{GemType, Material, MetalType}; @@ -7,6 +8,7 @@ use crate::entities::item::types::ItemType; use crate::entities::item::Item; use crate::entities::item::ItemBundle; use crate::entities::item::ItemName; +use crate::world::tiles::TileMap; pub fn stain_fade_system(time: Res