Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extern crate specs;
- #[macro_use]
- extern crate specs_derive;
- use specs::prelude::*;
- use specs::{Component, VecStorage};
- #[derive(Debug, Component)]
- #[storage(VecStorage)]
- pub struct Position
- {
- pub x: f32
- }
- pub struct DrawRequest<'a>
- {
- pub position: &'a Position
- }
- pub struct FetchDrawRequests;
- impl<'a> System<'a> for FetchDrawRequests
- {
- type SystemData = (Write<'a, Vec<DrawRequest<'a>>>,
- ReadStorage<'a, Position>);
- fn run(&mut self, data: Self::SystemData)
- {
- let (requests, positions) = data;
- requests.clear();
- for pos in &positions
- {
- let request = DrawRequest {position: &pos};
- requests.push(request);
- }
- }
- }
- fn main()
- {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement