Compare commits

...

2 commits

Author SHA1 Message Date
1031e06024 Cards plugin 2025-11-19 22:31:34 +05:00
c609a7d602 Card creation 2025-11-19 22:29:51 +05:00
2 changed files with 40 additions and 10 deletions

View file

@ -3,6 +3,14 @@ use bevy::prelude::*;
pub mod hand; pub mod hand;
pub struct CardsPlugin;
impl Plugin for CardsPlugin {
fn build(&self, app: &mut App) {
app.add_observer(on_create_card);
}
}
#[derive(Component)] #[derive(Component)]
pub struct Card; pub struct Card;
@ -17,13 +25,34 @@ pub fn on_create_card(
atlas_layout: Res<LofparaAtlasLayout>, atlas_layout: Res<LofparaAtlasLayout>,
atlas_sprite: Res<LofparaAtlasImage>, atlas_sprite: Res<LofparaAtlasImage>,
) { ) {
if let Some(parent) = event.parent {
commands.spawn(( commands.spawn((
Card, Card,
Transform::from_xyz(0., 0., 0.), Transform::from_xyz(0., 0., 0.),
/*Sprite { Sprite {
image: atlas_sprite.get(), image: atlas_sprite.get(),
image_mode: SpriteImageMode::Auto, image_mode: SpriteImageMode::Auto,
texture_atlas: Some(TextureAtlas { layout: , index: () }) texture_atlas: Some(TextureAtlas {
},*/ layout: atlas_layout.get(),
index: 0,
}),
..default()
},
ChildOf(parent),
));
} else {
commands.spawn((
Card,
Transform::from_xyz(0., 0., 0.),
Sprite {
image: atlas_sprite.get(),
image_mode: SpriteImageMode::Auto,
texture_atlas: Some(TextureAtlas {
layout: atlas_layout.get(),
index: 0,
}),
..default()
},
)); ));
} }
}

View file

@ -1,10 +1,11 @@
use bevy::prelude::*; use bevy::prelude::*;
use crate::cards::CardsPlugin;
use crate::lofpara_atlas::LofparaAtlasPlugin; use crate::lofpara_atlas::LofparaAtlasPlugin;
mod cards; mod cards;
mod lofpara_atlas; mod lofpara_atlas;
fn main() { fn main() {
App::new().add_plugins((DefaultPlugins, LofparaAtlasPlugin)); App::new().add_plugins((DefaultPlugins, LofparaAtlasPlugin, CardsPlugin));
} }