34 lines
589 B
Rust
34 lines
589 B
Rust
use galactica_render::ObjectSprite;
|
|
|
|
use super::SystemObject;
|
|
use crate::content;
|
|
|
|
pub struct System {
|
|
pub name: String,
|
|
bodies: Vec<SystemObject>,
|
|
}
|
|
|
|
impl System {
|
|
pub fn new(ct: &content::System) -> Self {
|
|
let mut s = System {
|
|
name: ct.name.clone(),
|
|
bodies: Vec::new(),
|
|
};
|
|
|
|
for o in &ct.objects {
|
|
s.bodies.push(SystemObject {
|
|
pos: o.position,
|
|
sprite_texture: o.sprite_texture,
|
|
size: o.size,
|
|
angle: o.angle,
|
|
});
|
|
}
|
|
|
|
return s;
|
|
}
|
|
|
|
pub fn get_sprites(&self) -> Vec<ObjectSprite> {
|
|
return self.bodies.iter().map(|x| x.get_sprite()).collect();
|
|
}
|
|
}
|