Advertisement
Guest User

Untitled

a guest
May 11th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rust 0.78 KB | None | 0 0
  1. extern crate specs;
  2.  
  3. #[macro_use]
  4. extern crate specs_derive;
  5.  
  6. use specs::prelude::*;
  7. use specs::{Component, VecStorage};
  8.  
  9. #[derive(Debug, Component)]
  10. #[storage(VecStorage)]
  11. pub struct Position
  12. {
  13.     pub x: f32
  14. }
  15.  
  16. pub struct DrawRequest<'a>
  17. {
  18.    pub position: &'a Position
  19. }
  20.  
  21. pub struct FetchDrawRequests;
  22.  
  23. impl<'a> System<'a> for FetchDrawRequests
  24. {
  25.     type SystemData = (Write<'a, Vec<DrawRequest<'a>>>,
  26.                        ReadStorage<'a, Position>);
  27.    
  28.    fn run(&mut self, data: Self::SystemData)
  29.    {
  30.        let (requests, positions) = data;
  31.  
  32.        requests.clear();
  33.  
  34.        for pos in &positions
  35.        {
  36.            let request = DrawRequest {position: &pos};
  37.            requests.push(request);
  38.        }
  39.    }
  40. }
  41.  
  42. fn main()
  43. {
  44.  
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement