feat: Derive traits

This commit is contained in:
Alexey 2026-03-19 15:57:29 +03:00
commit ffdb5d94a8
11 changed files with 115 additions and 79 deletions

View file

@ -14,29 +14,36 @@ pub mod bundles;
pub mod observers;
pub mod systems;
#[derive(Component, Reflect)]
#[derive(Component, Debug, PartialEq, Eq, Default, Clone, Copy, Reflect)]
#[reflect(Component, Debug, PartialEq, Default, Clone)]
#[require(Node)]
pub struct UiInventoryManager;
#[derive(Component, Reflect)]
#[derive(Component, Debug, PartialEq, Eq, Clone, Copy, Reflect)]
#[reflect(Component, Debug, PartialEq, Clone)]
#[require(Node)]
pub struct UiInventory(pub Entity);
#[derive(Component, Reflect)]
#[derive(Component, Debug, PartialEq, Eq, Default, Clone, Copy, Reflect)]
#[reflect(Component, Debug, PartialEq, Default, Clone)]
#[require(Node, ImageNode)]
pub struct UiInventorySlot(pub UVec2);
#[derive(Component, Reflect)]
#[derive(Component, Debug, PartialEq, Eq, Clone, Copy, Reflect)]
#[reflect(Component, Debug, PartialEq, Clone)]
#[require(Node, ImageNode)]
pub struct UiItem(pub Entity);
#[derive(Component, Reflect)]
#[derive(Component, Debug, PartialEq, Eq, Default, Clone, Copy, Reflect)]
#[reflect(Component, Debug, PartialEq, Default, Clone)]
pub struct HoveredItem;
#[derive(Component, Reflect)]
#[derive(Component, Debug, PartialEq, Eq, Default, Clone, Copy, Reflect)]
#[reflect(Component, Debug, PartialEq, Default, Clone)]
pub struct HoveredSlot;
#[derive(Component, Reflect)]
#[derive(Component, Debug, PartialEq, Eq, Clone, Reflect)]
#[reflect(Component, Debug, PartialEq, Clone)]
pub struct DraggedItem(pub Item, pub UVec2);
fn ui_item_node_data(item: &Item) -> (Val, Val, Val, Val, UiTransform) {

View file

@ -8,8 +8,9 @@ use crate::input::UiAction;
pub mod inventory;
#[derive(Component, Reflect)]
#[derive(Component, Reflect, Debug, Default, PartialEq, Eq, Clone, Copy)]
#[require(Node)]
#[reflect(Component, Debug, Default, PartialEq, Clone)]
pub struct UiRoot;
#[derive(Resource, Deref, DerefMut, Default)]