use bevy::prelude::*;
#[derive(Resource, Debug, Clone, Copy)]
pub struct ThirdPersonCameraSettings {
pub default_camera_offset: Vec3,
pub default_target_offset: Vec3,
pub pitch_max: f32,
pub pitch_min: f32,
pub local_cam: Option<Entity>,
pub cam_speed: f32,
pub mouse_speed: f32,
pub up: KeyCode,
pub down: KeyCode,
pub left: KeyCode,
pub right: KeyCode,
pub roll_clockwise: KeyCode,
pub roll_counterclockwise: KeyCode,
}
impl Default for ThirdPersonCameraSettings {
fn default() -> Self {
Self {
cam_speed: 1.0,
mouse_speed: 0.005,
default_camera_offset: Vec3::ZERO.with_z(-15.0),
default_target_offset: Vec3::ZERO.with_y(0.0),
pitch_max: 89f32.to_radians(),
pitch_min: -89f32.to_radians(),
local_cam: None,
up: KeyCode::ArrowUp,
down: KeyCode::ArrowDown,
left: KeyCode::ArrowLeft,
right: KeyCode::ArrowRight,
roll_clockwise: KeyCode::KeyE,
roll_counterclockwise: KeyCode::KeyQ,
}
}
}