use std::sync::Arc; use galactica_content::{Content, SystemHandle}; use galactica_playeragent::PlayerAgent; use galactica_system::phys::PhysImage; use galactica_util::timing::Timing; use nalgebra::Vector2; /// Bundles parameters passed to a single call to GPUState::render #[derive(Debug)] pub struct RenderInput { /// Camera position, in world units pub camera_pos: Vector2, /// Player ship data pub player: Arc, /// The system we're currently in pub current_system: SystemHandle, /// Height of screen, in world units pub camera_zoom: f32, /// The world state to render pub phys_img: Arc, // TODO: handle overflow. is it a problem? /// The current time, in seconds pub current_time: f32, /// The amount of time that has passed since the last frame was drawn pub time_since_last_run: f32, /// Game content pub ct: Arc, /// Time we spent in each part of the game loop pub timing: Timing, }