Update shape size/position for calculating visibility.
This commit is contained in:
parent
24db52abd9
commit
a461b0907f
|
@ -50,10 +50,7 @@ impl Plugin for LogPlugin {
|
||||||
fn build(&self, app: &mut AppBuilder) {
|
fn build(&self, app: &mut AppBuilder) {
|
||||||
app.add_startup_system(setup.system()).add_system_to_stage(
|
app.add_startup_system(setup.system()).add_system_to_stage(
|
||||||
CoreStage::PostUpdate,
|
CoreStage::PostUpdate,
|
||||||
read_log
|
read_log.system().chain(error_handler.system()),
|
||||||
.system()
|
|
||||||
.chain(error_handler.system())
|
|
||||||
.after(crate::visibility::LOG_VISIBLE_LABEL),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,15 +108,13 @@ fn update_viewshed<'a>(
|
||||||
let coord = Coord::new(start.x_i32(), start.y_i32());
|
let coord = Coord::new(start.x_i32(), start.y_i32());
|
||||||
viewshed.visible.clear();
|
viewshed.visible.clear();
|
||||||
let collider_set = QueryPipelineColliderComponentsSet(&collider_query);
|
let collider_set = QueryPipelineColliderComponentsSet(&collider_query);
|
||||||
let shape = Cuboid::new(Vec2::new(0.5, 0.5).into());
|
let shape = Cuboid::new(Vec2::new(0.49, 0.49).into());
|
||||||
let range = viewshed.range as f32;
|
let range = viewshed.range as f32;
|
||||||
let visibility_grid = VisibilityGrid(map, |coord: Coord| {
|
let visibility_grid = VisibilityGrid(map, |coord: Coord| {
|
||||||
if start.x_i32() == coord.x && start.y_i32() == coord.y {
|
if coord.distance(start) > range {
|
||||||
return 0;
|
|
||||||
} else if coord.distance(start) > range {
|
|
||||||
return 255;
|
return 255;
|
||||||
}
|
}
|
||||||
let shape_pos = (Vec2::new(coord.x as f32, coord.y as f32), 0.);
|
let shape_pos = (Vec2::new(coord.x as f32 + 0.5, coord.y as f32 + 0.5), 0.);
|
||||||
let mut opacity = 0;
|
let mut opacity = 0;
|
||||||
query_pipeline.intersections_with_shape(
|
query_pipeline.intersections_with_shape(
|
||||||
&collider_set,
|
&collider_set,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user