37 lines
917 B
Rust
37 lines
917 B
Rust
|
use galactica_content::{Content, SystemHandle};
|
||
|
use galactica_playeragent::PlayerAgent;
|
||
|
use galactica_system::phys::{ParticleBuilder, PhysSim};
|
||
|
use galactica_util::timing::Timing;
|
||
|
use nalgebra::Vector2;
|
||
|
|
||
|
/// Bundles parameters passed to a single call to GPUState::render
|
||
|
pub struct RenderInput<'a> {
|
||
|
/// Camera position, in world units
|
||
|
pub camera_pos: Vector2<f32>,
|
||
|
|
||
|
/// Player ship data
|
||
|
pub player: &'a PlayerAgent,
|
||
|
|
||
|
/// 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 systemsim: &'a PhysSim,
|
||
|
|
||
|
// TODO: handle overflow. is it a problem?
|
||
|
/// The current time, in seconds
|
||
|
pub current_time: f32,
|
||
|
|
||
|
/// Game content
|
||
|
pub ct: &'a Content,
|
||
|
|
||
|
/// Particles to spawn during this frame
|
||
|
pub particles: &'a Vec<ParticleBuilder>,
|
||
|
|
||
|
/// Time we spent in each part of the game loop
|
||
|
pub timing: Timing,
|
||
|
}
|