feat: add Activateable in Lightkeeper

This commit is contained in:
2026-10-17 17:00:00 +02:00
parent 89a168f76d
commit 70c940c476
13 changed files with 354 additions and 5 deletions
+1
View File
@@ -64,6 +64,7 @@ public:
[[nodiscard]] const std::vector<std::shared_ptr<GameObject>>& GetObjects() const {
return m_objects;
}
[[nodiscard]] GameObject* FindGameObject(ObjectId id) const;
void SetRegisterBindings(std::function<void()> registerBindings) {
m_registerBindings = std::move(registerBindings);
+14
View File
@@ -205,6 +205,20 @@ CameraComponent* Scene::GetCurrentCamera() const {
return cameras.empty() ? nullptr : cameras.front();
}
GameObject* Scene::FindGameObject(ObjectId id) const {
if (id == InvalidObjectId) {
return nullptr;
}
for (const auto* objects : {&m_objects, &m_pendingAdditions}) {
for (const auto& object : *objects) {
if (object != nullptr && !object->IsBeingDestroyed() && object->GetId() == id) {
return object.get();
}
}
}
return nullptr;
}
std::vector<CameraComponent*> Scene::GetCameras() const {
std::vector<CameraComponent*> cameras;
for (const auto& object : m_objects) {