use bevy::prelude::*;
#[derive(Component)]
pub struct CameraOffset(pub Vec3);
#[derive(Component)]
pub struct TargetOffset(pub Vec3);
#[derive(Component)]
pub struct DampingFactor(pub f32);
#[derive(Component)]
pub struct TargetPoint(pub Vec3);
#[derive(Component)]
#[relationship(relationship_target = ThirdPersonCameraTarget)]
pub struct ThirdPersonCamera {
#[relationship]
pub target: Entity,
}
impl ThirdPersonCamera {
pub fn aimed_at(target: Entity) -> Self {
Self { target }
}
}
#[derive(Component)]
#[relationship_target(relationship = ThirdPersonCamera)]
pub struct ThirdPersonCameraTarget(Vec<Entity>);