minibaldur-bevy/src/main.rs

57 lines
1.4 KiB
Rust

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<Assets<Mesh>>,
mut materials: ResMut<Assets<StandardMaterial>>,
) {
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()
});
}