lyra-engine/src/ecs/components/camera.rs
SeanOMik 63df35f8fc
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Fix most warnings and clippy lints
2023-10-22 21:49:31 -04:00

33 lines
No EOL
724 B
Rust
Executable file

use edict::Component;
use crate::{math::{Angle, Transform}, render::camera::CameraProjectionMode};
#[derive(Clone, Component)]
pub struct CameraComponent {
pub transform: Transform,
pub fov: Angle,
pub mode: CameraProjectionMode,
}
impl Default for CameraComponent {
fn default() -> Self {
Self {
transform: Transform::default(),
fov: Angle::Degrees(45.0),
mode: CameraProjectionMode::Perspective,
}
}
}
impl CameraComponent {
pub fn new_3d() -> Self {
Self::default()
}
pub fn new_2d() -> Self {
CameraComponent {
mode: CameraProjectionMode::Orthographic,
..Default::default()
}
}
}