17ImVec4 getQualityColor(
int quality)
21 case 0:
return ImVec4(0.616f, 0.616f, 0.616f, 1.0f);
22 case 1:
return ImVec4(1.0f, 1.0f, 1.0f, 1.0f);
23 case 2:
return ImVec4(0.118f, 1.0f, 0.0f, 1.0f);
24 case 3:
return ImVec4(0.0f, 0.439f, 0.867f, 1.0f);
25 case 4:
return ImVec4(0.639f, 0.208f, 0.933f, 1.0f);
26 case 5:
return ImVec4(1.0f, 0.502f, 0.0f, 1.0f);
28 case 7:
return ImVec4(0.898f, 0.8f, 0.502f, 1.0f);
29 default:
return ImVec4(1.0f, 1.0f, 1.0f, 1.0f);
37 assert(ctx.
items &&
"DrawContext::items must not be null");
43 ImGui::TextDisabled(
"Game not loaded.");
47 ImGui::Text(
"Search:");
48 ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x - 60.0f);
50 ImGuiInputTextFlags_EnterReturnsTrue))
55 if (ImGui::Button(
"Apply##itembrowse", ImVec2(-1, 0)))
67 ImGui::BeginChild(
"##ItemBrowseList", ImVec2(0, 0), ImGuiChildFlags_None);
70 ImGuiListClipper clipper;
72 while (clipper.Step())
74 for (
int i = clipper.DisplayStart; i < clipper.DisplayEnd; ++i)
78 ImVec4 qcol = getQualityColor(item.quality);
79 ImGui::PushStyleColor(ImGuiCol_Text, qcol);
80 std::string label = std::format(
"{} ({})", item.name, item.id);
81 if (ImGui::Selectable(label.c_str()))
86 ImGui::PopStyleColor();
Per-frame context for the item browser panel.
std::function< void()> rebuildItemBrowseFilter
const ItemDatabase * items
std::string * itemBrowseSearchBuf
std::function< void(unsigned int)> loadItemModel
std::vector< size_t > * itemBrowseFiltered
bool * itemBrowseFilterDirty