haw-gj13-game/src/game/player.rs
2024-11-23 17:09:42 +01:00

43 lines
1.2 KiB
Rust

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<Assets<Mesh>>,
mut materials: ResMut<Assets<ColorMaterial>>,
asset_server: Res<AssetServer>,
) {
// 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(10., 10., 0.),
..default()
},
))
//.insert((
// RigidBody::Dynamic,
// Collider::cuboid(0.4 * METER, 0.9 * METER),
// Velocity::default(),
//))
.insert(ActiveEvents::COLLISION_EVENTS);
}