267 if (entities.empty())
269 ImGui::TextColored(
ImVec4(0.7f, 0.7f, 0.7f, 1.0f),
"No runtime entities.");
270 ImGui::TextWrapped(
"Create entities with World::CreateEntity() to see them here.");
278 ImGui::TextColored(
ImVec4(1.0f, 0.7f, 0.0f, 1.0f),
279 "Inspector not initialized.");
287 ImGui::BeginChild(
"RuntimeEntitiesScroll",
ImVec2(0, 200),
true);
298 displayName =
"Entity_" + std::to_string(entityId);
302 displayName +=
" (" + std::to_string(
info.componentTypes.size()) +
" comp)";
305 if (ImGui::Selectable(
displayName.c_str(), isSelected))
311 if (ImGui::IsItemHovered())
313 ImGui::BeginTooltip();
314 ImGui::Text(
"Entity ID: %llu", entityId);
315 ImGui::Text(
"Components: %zu",
info.componentTypes.size());
316 if (!
info.componentTypes.empty())
321 ImGui::BulletText(
"%s",
compType.c_str());
333 ImGui::TextColored(
ImVec4(0.5f, 1.0f, 0.5f, 1.0f),
334 "Drag nodes to the graph to add them");
342 "Executes children in order until one fails",
343 "Executes children in order until one succeeds"
346 for (
int i = 0;
i < 2;
i++)
354 ImGui::EndDragDropSource();
357 if (ImGui::IsItemHovered())
371 ImGui::TextColored(
ImVec4(0.7f, 0.7f, 0.7f, 1.0f),
372 "No actions available");
378 ImGui::Selectable(actionType.c_str());
381 std::string
payload =
"Action:" + actionType;
382 ImGui::SetDragDropPayload(
"NODE_TYPE",
payload.c_str(),
payload.size() + 1);
383 ImGui::Text(
"%s", actionType.c_str());
384 ImGui::EndDragDropSource();
391 ImGui::BeginTooltip();
392 ImGui::TextColored(
ImVec4(0.5f, 1.0f, 0.5f, 1.0f),
"%s",
actionDef->name.c_str());
395 ImGui::TextWrapped(
"%s",
actionDef->description.c_str());
400 ImGui::Text(
"Parameters:");
403 ImGui::BulletText(
"%s: %s %s",
406 param.required ?
"(required)" :
"");
422 ImGui::TextColored(
ImVec4(0.7f, 0.7f, 0.7f, 1.0f),
423 "No conditions available");
429 ImGui::Selectable(conditionType.c_str());
432 std::string
payload =
"Condition:" + conditionType;
433 ImGui::SetDragDropPayload(
"NODE_TYPE",
payload.c_str(),
payload.size() + 1);
434 ImGui::Text(
"%s", conditionType.c_str());
435 ImGui::EndDragDropSource();
442 ImGui::BeginTooltip();
446 ImGui::TextWrapped(
"%s",
conditionDef->description.c_str());
455 if (ImGui::CollapsingHeader(
"Decorators"))
461 ImGui::TextColored(
ImVec4(0.7f, 0.7f, 0.7f, 1.0f),
462 "No decorators available");
468 ImGui::Selectable(decoratorType.c_str());
471 std::string
payload =
"Decorator:" + decoratorType;
472 ImGui::SetDragDropPayload(
"NODE_TYPE",
payload.c_str(),
payload.size() + 1);
473 ImGui::Text(
"%s", decoratorType.c_str());
474 ImGui::EndDragDropSource();
481 ImGui::BeginTooltip();
485 ImGui::TextWrapped(
"%s",
decoratorDef->description.c_str());
494 ImGui::TextColored(
ImVec4(0.7f, 0.7f, 0.7f, 1.0f),
495 "Tip: Drag & drop nodes onto the graph canvas");