use bevy::prelude::*; pub mod util; pub mod components; pub mod systems; use components::*; use util::roll; fn main() { App::new() .add_plugins(DefaultPlugins) .add_systems(Startup, setup) .run(); } fn setup( mut commands: Commands, mut meshes: ResMut>, mut materials: ResMut>, ) { for i in 0..2 { let (hp, _) = roll("1d6 + 3"); commands.spawn(Creature { health: Health { hp, max: hp, }, armor: Armor { ac: 10, }, spatial: SpatialBundle { transform: Transform::from_xyz(i as f32 * 2.0, 0.0, 0.0), ..default() }, }) .insert(PlayerCharacter) .with_children(|parent| { parent.spawn(PbrBundle { mesh: meshes.add(shape::Capsule::default().into()), material: materials.add(Color::WHITE.into()), ..default() }); }); } commands.spawn(DirectionalLightBundle { transform: Transform::default().looking_at(Vec3::new(3.0, -50.0, 1.0), Vec3::Y), ..default() }); commands.spawn(Camera3dBundle{ transform: Transform::from_xyz(1.0, 15.0, 2.0).looking_at(Vec3::ZERO, Vec3::Y), ..default() }); }