summaryrefslogtreecommitdiff
path: root/src/game.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game.cpp')
-rw-r--r--src/game.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/game.cpp b/src/game.cpp
index 7069ac9..bb4bbd6 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -532,6 +532,13 @@ void Game_Tick(double delta) {
}
ECS_Tick_Early(delta);
+ if (EntitiesToBeRemoved.Has(selectedEntity)) {
+ selectedEntity = EntityHandle_MAX;
+ }
+ if (EntitiesToBeRemoved.Has(hoveredEntity)) {
+ hoveredEntity = EntityHandle_MAX;
+ }
+
ECS_Tick(delta);
PkeInput_Tick(delta);
@@ -751,9 +758,6 @@ void Game_Tick(double delta) {
cameraDbg.rot = glm::quat(glm::vec3(0.f, 0.f, axis4)) * cameraDbg.rot;
cameraDbg.stale = cameraDbg.stale | PKE_CAMERA_STALE_ROT;
}
- } else {
- cameraDefault.target = glm::vec3(0.f, 0.f, 0.f);
- cameraDefault.stale = cameraDefault.stale | PKE_CAMERA_STALE_ROT;
}
EntityType_Tick_Late(delta);
ECS_Tick_Late(delta);
@@ -849,13 +853,14 @@ void RecordImGuiEntityList() {
ImGuiTableFlags_Borders |
ImGuiTableFlags_RowBg
};
- if (ImGui::BeginTable("Entities", 6, tableFlags)) {
+ if (ImGui::BeginTable("Entities", 7, tableFlags)) {
ImGui::TableSetupColumn("Select");
ImGui::TableSetupColumn("EntityHandle");
ImGui::TableSetupColumn("ParentEntityHandle");
ImGui::TableSetupColumn("GrBindsHandle");
ImGui::TableSetupColumn("InstanceHandle");
ImGui::TableSetupColumn("IsMarkedForRemoval");
+ ImGui::TableSetupColumn("Delete");
ImGui::TableHeadersRow();
uint64_t bucketCount = ECS_GetEntities_BucketCount();
@@ -868,8 +873,10 @@ void RecordImGuiEntityList() {
ImGui::PushID(row);
ImGui::TableNextRow();
ImGui::TableSetColumnIndex(0);
+ ImGui::BeginDisabled(selectedEntity == entity->handle);
if (ImGui::Button("Select"))
selectedEntity = entity->handle;
+ ImGui::EndDisabled();
ImGui::TableSetColumnIndex(1);
ImGui::Text("0x%016lX", static_cast<EntityHandle_T>(entity->handle));
ImGui::TableSetColumnIndex(2);
@@ -880,6 +887,11 @@ void RecordImGuiEntityList() {
ImGui::Text("0x%016lX", static_cast<InstanceHandle_T>(entity->instanceHandle));
ImGui::TableSetColumnIndex(5);
ImGui::Text("%u", entity->isMarkedForRemoval);
+ ImGui::TableSetColumnIndex(6);
+ ImGui::BeginDisabled(selectedEntity != entity->handle);
+ if (ImGui::Button("Delete"))
+ ECS_MarkForRemoval(entity->handle);
+ ImGui::EndDisabled();
ImGui::PopID();
}
ImGui::PopID();