]> git.localhorst.tv Git - blank.git/blobdiff - src/ui/ui.cpp
remove self on player controller destruct
[blank.git] / src / ui / ui.cpp
index dd113ca2b620d8fd763934459e9e4b1f088c15ce..6a2e2ee167042720101bab5f7d1062d3c2cc610f 100644 (file)
@@ -43,6 +43,12 @@ PlayerController::PlayerController(World &world, Player &player)
        player.GetEntity().SetController(*this);
 }
 
+PlayerController::~PlayerController() {
+       if (&player.GetEntity().GetController() == this) {
+               player.GetEntity().UnsetController();
+       }
+}
+
 void PlayerController::SetMovement(const glm::vec3 &m) noexcept {
        if (dot(m, m) > 1.0f) {
                move_dir = normalize(m);