]> git.tdb.fi Git - libs/game.git/blobdiff - examples/bassteroids/source/playercontroller.cpp
Convert components to buffered where appropriate
[libs/game.git] / examples / bassteroids / source / playercontroller.cpp
index 46f9c1f85e30dfe710c96411a041c73455b22029..b90992ed6239b191645476f48414e63ec7785b3e 100644 (file)
@@ -14,7 +14,10 @@ PlayerController::PlayerController(Game::Stage &s):
        bullet_setup{ .physical={ .body={ .mass=0.05f, .moment_of_inertia=0.04f }, .collider={ .type=ColliderType::CIRCLE, .radius=0.2f }},
                .hittable={ .damaging=true, .hits={ .max_hits=1 }, .damage={ .amount=1, .type=0 }},
                .mesh={ .object_name="Quaver.object" }}
-{ }
+{
+       declare_dependency<Game::Transform>(READ_OLD);
+       declare_dependency<RigidBody>(UPDATE);
+}
 
 void PlayerController::set_controls(Controls *c)
 {
@@ -51,7 +54,7 @@ void PlayerController::tick(Time::TimeDelta dt)
                body->add_torque(angular_vel.radians()*-min(angular_speed.radians()+setup.turn_rate/angular_speed.radians(), 1.0f/dt_secs));
 
        if(controls->fire.was_pressed())
-               fire();
+               defer([this]{ fire(); });
 
        controls->reset_edges();
 }