add very ugly camera-follows-player effect
Some checks failed
Some checks failed
This commit is contained in:
parent
2718983cd1
commit
3c4ca4371f
1 changed files with 9 additions and 3 deletions
|
@ -62,13 +62,14 @@ impl Default for MovementController {
|
||||||
|
|
||||||
fn apply_movement(
|
fn apply_movement(
|
||||||
_time: Res<Time>,
|
_time: Res<Time>,
|
||||||
|
mut camera: Query<&mut Transform, With<Camera>>,
|
||||||
movement_query: Query<&MovementController, With<Player>>,
|
movement_query: Query<&MovementController, With<Player>>,
|
||||||
player_transform_query: Query<&Transform, With<Player>>,
|
player_transform_query: Query<&GlobalTransform, With<Player>>,
|
||||||
mut players: Query<&mut GridCoords, With<Player>>,
|
mut players: Query<&mut GridCoords, With<Player>>,
|
||||||
level_selection: Res<LevelSelection>,
|
level_selection: Res<LevelSelection>,
|
||||||
// level_walls: Res<LevelWalls>,
|
// level_walls: Res<LevelWalls>,
|
||||||
level_walls: Res<MultiLevelWalls>,
|
level_walls: Res<MultiLevelWalls>,
|
||||||
) {
|
) -> Result {
|
||||||
let level_selection_iid = match level_selection.as_ref() {
|
let level_selection_iid = match level_selection.as_ref() {
|
||||||
LevelSelection::Iid(iid) => iid,
|
LevelSelection::Iid(iid) => iid,
|
||||||
_ => panic!("level should be selected by iid"),
|
_ => panic!("level should be selected by iid"),
|
||||||
|
@ -93,7 +94,7 @@ fn apply_movement(
|
||||||
} else {
|
} else {
|
||||||
// unrecognized intent, log a warning
|
// unrecognized intent, log a warning
|
||||||
warn!("Unrecognized intent: {:?}", controller.intent);
|
warn!("Unrecognized intent: {:?}", controller.intent);
|
||||||
return;
|
return Ok(());
|
||||||
};
|
};
|
||||||
info!("player old absolute coords: {:?}", player_abs_coords);
|
info!("player old absolute coords: {:?}", player_abs_coords);
|
||||||
let destination = *player_abs_coords + movement_direction;
|
let destination = *player_abs_coords + movement_direction;
|
||||||
|
@ -107,12 +108,17 @@ fn apply_movement(
|
||||||
player_transform_query.single()
|
player_transform_query.single()
|
||||||
);
|
);
|
||||||
// transform.translation += velocity.extend(0.0) * time.delta_secs();
|
// transform.translation += velocity.extend(0.0) * time.delta_secs();
|
||||||
|
if let Ok(player_transform) = player_transform_query.single() {
|
||||||
|
let mut camera_transform = camera.single_mut()?;
|
||||||
|
camera_transform.translation = player_transform.translation();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
info!("SDENG!");
|
info!("SDENG!");
|
||||||
}
|
}
|
||||||
level_walls.debug_collisions(level_selection_iid, &player_abs_coords);
|
level_walls.debug_collisions(level_selection_iid, &player_abs_coords);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Component, Reflect)]
|
#[derive(Component, Reflect)]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue