Zoom out the camera when entering third person mode

This commit is contained in:
Piotr Korgól 2019-07-23 21:40:56 +02:00
parent 36948890a3
commit 00f490c3bf
2 changed files with 5 additions and 2 deletions

View File

@ -116,7 +116,7 @@ impl Camera {
pub fn zoom_by(&mut self, delta: f32) {
if self.can_zoom {
// Clamp camera dist to the 0 <= x <= infinity range
self.tgt_dist = (self.tgt_dist + delta).max(0.0);
self.tgt_dist = (self.tgt_dist + delta).max(2.0);
}
}
@ -176,6 +176,9 @@ impl Camera {
match self.mode {
CameraMode::ThirdPerson => {
self.can_zoom = true;
if self.tgt_dist == 0.0 {
self.zoom_by(5.0);
}
},
CameraMode::FirstPerson => {
self.set_distance(0.0);

View File

@ -134,7 +134,7 @@ impl PlayState for SessionState {
if b {
let pos =
(cam_pos + cam_dir * (d - 0.01)).map(|e| e.floor() as i32);
client.place_block(pos, self.selected_block); // TODO: Handle block color with a command
client.place_block(pos, self.selected_block);
}
} else {
self.controller.attack = state