World grid drawing correctly

master
Joey Pollack 2 years ago
parent a14dcff8f9
commit be88f33055

@ -87,18 +87,6 @@ fn setup(mut commands: Commands, mut meshes: ResMut<Assets<Mesh>>, mut materials
Agent
));
// Line test
let line = shapes::Line(Vec2::ZERO, Vec2::new(100.0, 100.0));
commands.spawn((
ShapeBundle {
path: GeometryBuilder::build_as(&line),
..default()
},
Stroke::new(Color::ORANGE_RED, 5.0),
//Fill::color(Color::ORANGE_RED),
));
// UI
// Text with multiple sections
commands.spawn((

@ -2,6 +2,9 @@
use bevy::prelude::*;
use bevy_prototype_lyon::prelude::*;
#[derive(Component)]
struct IsLine;
#[derive(Resource)]
struct WorldPluginState
{
@ -40,34 +43,40 @@ impl Plugin for WorldPlugin
}
}
fn setup(mut commands: Commands, settings: Res<WorldPluginState>, mut meshes: ResMut<Assets<Mesh>>, mut materials: ResMut<Assets<ColorMaterial>>)
fn setup(mut commands: Commands, settings: Res<WorldPluginState>)
{
// Camera
//commands.spawn(Camera2dBundle::default());
// Add Grid
// let cell_width = settings.window_width / settings.grid_width;
// let cell_height = settings.window_height / settings.grid_height;
// let line_size = 2;
// for i in 0..settings.grid_width as i32
// {
// for j in 0..settings.grid_height as i32
// {
// }
// }
let cell_width = settings.window_width / settings.grid_width;
let cell_height = settings.window_height / settings.grid_height;
let line_size = 2.0;
let half_screen_width = settings.window_width / 2.0;
let half_screen_height = settings.window_height / 2.0;
for i in 0..settings.grid_width as i32
{
let point_a = Vec2::new(i as f32 * cell_width - half_screen_width, -half_screen_height);
let point_b = Vec2::new(i as f32 * cell_width - half_screen_width, half_screen_height);
add_line(&mut commands, point_a, point_b, line_size);
}
// fn add_line(mut commands: Commands, point_a: Vec2, point_b: Vec2, line_size: i32)
// {
for i in 0..settings.grid_height as i32
{
let point_a = Vec2::new(-half_screen_width, i as f32 * cell_height - half_screen_height);
let point_b = Vec2::new(half_screen_width, i as f32 * cell_height - half_screen_height);
add_line(&mut commands, point_a, point_b, line_size);
}
}
fn add_line(commands: &mut Commands, point_a: Vec2, point_b: Vec2, line_size: f32)
{
let line = shapes::Line(point_a, point_b);
// commands.spawn(MaterialMesh2dBundle {
// mesh: meshes
// .add(shape::Quad::new(Vec2::new(cell_width * i, cell_height * j)).into())
// .into(),
// material: materials.add(ColorMaterial::from(Color::BLACK)),
// transform: Transform::from_translation(Vec3::new(50., 0., 0.)),
// ..default()
// });
// }
commands.spawn((
ShapeBundle {
path: GeometryBuilder::build_as(&line),
..default()
},
Stroke::new(Color::BLACK, line_size),
IsLine,
));
}
Loading…
Cancel
Save