Chira Engine
A customizable MIT-licensed game engine.
ResourceUsageTrackerPanel.cpp
1 #include "ResourceUsageTrackerPanel.h"
2 
3 #include <i18n/TranslationManager.h>
4 
5 using namespace chira;
6 
7 ResourceUsageTrackerPanel::ResourceUsageTrackerPanel(ImVec2 windowSize) : IPanel(TR("ui.resource_usage_tracker.title"), false, windowSize) {}
8 
9 void ResourceUsageTrackerPanel::renderContents() {
10  if (ImGui::BeginTable("Default Resources", 2)) {
11  for (const auto& [resourceHash, resource]: Resource::defaultResources) {
12  ImGui::TableNextRow();
13  ImGui::TableSetColumnIndex(0);
14  ImGui::Text("%s", resource->getIdentifier().data());
15  ImGui::TableSetColumnIndex(1);
16  ImGui::Text("%d", resource.useCount());
17  }
18  ImGui::EndTable();
19  }
20  ImGui::Separator();
21  if (ImGui::BeginTable("Resources", 3)) {
22  for (const auto& [providerName, resourceMap] : Resource::resources) {
23  for (const auto& [resourceName, resource] : resourceMap) {
24  ImGui::TableNextRow();
25  ImGui::TableSetColumnIndex(0);
26  ImGui::Text("%s", providerName.c_str());
27  ImGui::TableSetColumnIndex(1);
28  ImGui::Text("%s", resourceName.c_str());
29  ImGui::TableSetColumnIndex(2);
30  ImGui::Text("%d", resource.useCount());
31  }
32  }
33  ImGui::EndTable();
34  }
35 }