use bevy::{prelude::*, sprite::MaterialMesh2dBundle}; use bevy_rapier2d::prelude::*; use crate::{AppState, METER}; use super::set::IngameSet; #[derive(Component)] struct Player {} pub(super) fn player_plugin(app: &mut App) { app.add_systems(OnEnter(AppState::InGame), add_player.in_set(IngameSet)); } pub fn add_player( mut commands: Commands, mut meshes: ResMut>, mut materials: ResMut>, asset_server: Res, ) { // TODO replace commands.spawn(SpriteBundle { texture: asset_server.load("assets/Blockgrau.png"), ..Default::default() }); commands .spawn(( Player {}, MaterialMesh2dBundle { mesh: meshes.add(Circle::new(20.)).into(), material: materials.add(asset_server.load("test.png")), transform: Transform::from_xyz(100., 100., 0.), ..default() }, )) //.insert(( // RigidBody::Dynamic, // Collider::cuboid(0.4 * METER, 0.9 * METER), // Velocity::default(), //)) .insert(ActiveEvents::COLLISION_EVENTS); }