equal
deleted
inserted
replaced
2 pub mod common; |
2 pub mod common; |
3 mod data; |
3 mod data; |
4 mod grid; |
4 mod grid; |
5 pub mod physics; |
5 pub mod physics; |
6 |
6 |
7 use integral_geometry::Size; |
7 use integral_geometry::PotSize; |
8 use land2d::Land2D; |
8 use land2d::Land2D; |
9 |
9 |
10 use crate::{ |
10 use crate::{ |
11 collision::CollisionProcessor, |
11 collision::CollisionProcessor, |
12 common::{GearAllocator, GearId, Millis}, |
12 common::{GearAllocator, GearId, Millis}, |
20 physics: PhysicsProcessor, |
20 physics: PhysicsProcessor, |
21 collision: CollisionProcessor, |
21 collision: CollisionProcessor, |
22 } |
22 } |
23 |
23 |
24 impl World { |
24 impl World { |
25 pub fn new(world_size: Size) -> Self { |
25 pub fn new(world_size: PotSize) -> Self { |
26 let mut data = GearDataManager::new(); |
26 let mut data = GearDataManager::new(); |
27 PhysicsProcessor::register_components(&mut data); |
27 PhysicsProcessor::register_components(&mut data); |
28 CollisionProcessor::register_components(&mut data); |
28 CollisionProcessor::register_components(&mut data); |
29 |
29 |
30 Self { |
30 Self { |
70 common::Millis, |
70 common::Millis, |
71 physics::{PositionData, VelocityData}, |
71 physics::{PositionData, VelocityData}, |
72 World, |
72 World, |
73 }; |
73 }; |
74 use fpnum::{fp, FPNum, FPPoint}; |
74 use fpnum::{fp, FPNum, FPPoint}; |
75 use integral_geometry::Size; |
75 use integral_geometry::PotSize; |
76 use land2d::Land2D; |
76 use land2d::Land2D; |
77 |
77 |
78 #[test] |
78 #[test] |
79 fn data_flow() { |
79 fn data_flow() { |
80 let world_size = Size::new(2048, 2048); |
80 let world_size = PotSize::new(2048, 2048).unwrap; |
81 |
81 |
82 let mut world = World::new(world_size); |
82 let mut world = World::new(world_size); |
83 let gear_id = world.new_gear().unwrap(); |
83 let gear_id = world.new_gear().unwrap(); |
84 |
84 |
85 world.add_gear_data(gear_id, &PositionData(FPPoint::zero())); |
85 world.add_gear_data(gear_id, &PositionData(FPPoint::zero())); |