@@ -34,20 +34,26 @@ impl ControlHandler {
3434 self . handle_ghost_obj ( dt) ;
3535
3636 self . control_state = match self . control_state {
37- ControlState :: Idle => self . handle_idle ( renderer, objects) ,
37+ ControlState :: Idle => self . handle_idle ( renderer, physics_handler , objects) ,
3838 ControlState :: Place => self . handle_place ( renderer) ,
3939 ControlState :: Drag => self . handle_drag ( renderer, physics_handler, objects) ,
4040 } ;
4141 }
4242
43- fn handle_idle ( & mut self , renderer : & mut Renderer , objects : & mut ObjectPool ) -> ControlState {
43+ fn handle_idle (
44+ & mut self ,
45+ renderer : & mut Renderer ,
46+ physics_handler : & PhysicsHandler ,
47+ objects : & mut ObjectPool ,
48+ ) -> ControlState {
4449 if let Some ( obj) = self . get_hovered_obj ( renderer, objects) {
4550 let color = Color {
4651 a : 0.2 ,
4752 ..obj. color
4853 } ;
4954
5055 renderer. draw_halo ( obj. position , obj. radius * 1.1 , Some ( color) ) ;
56+ obj. draw_path ( objects, renderer, physics_handler, 5000 , 10 ) ;
5157 }
5258
5359 if is_key_released ( KeyCode :: R ) {
@@ -153,7 +159,7 @@ impl ControlHandler {
153159 obj. mass += self . scale_speed * dt;
154160 obj. radius += self . scale_speed * dt;
155161 }
156- if is_key_down ( KeyCode :: Down ) {
162+ if is_key_down ( KeyCode :: Down ) && obj . mass > 0.3 {
157163 obj. mass -= self . scale_speed * dt;
158164 obj. radius -= self . scale_speed * dt;
159165 }
0 commit comments