moved metric to CogDebug

This commit is contained in:
Arnaud Jamin
2023-10-03 12:04:56 -04:00
parent 60b1578e96
commit 9eeaec254a
16 changed files with 531 additions and 486 deletions
@@ -77,9 +77,8 @@ void UCogWindow::DrawMenuItem(const FString& MenuItemName)
{
if (bShowInsideMenu && bIsVisible == false)
{
static const ImVec2 TEXT_BASE_SIZE = ImGui::CalcTextSize("A");
ImGui::SetNextWindowSizeConstraints(ImVec2(TEXT_BASE_SIZE.x * 40, TEXT_BASE_SIZE.y * 1),
ImVec2(TEXT_BASE_SIZE.x * 50, TEXT_BASE_SIZE.y * 60));
ImGui::SetNextWindowSizeConstraints(ImVec2(FCogWindowWidgets::TextBaseWidth * 40, FCogWindowWidgets::TextBaseHeight * 1),
ImVec2(FCogWindowWidgets::TextBaseWidth * 50, FCogWindowWidgets::TextBaseHeight * 60));
if (ImGui::BeginMenu(TCHAR_TO_ANSI(*MenuItemName)))
{
@@ -108,10 +108,18 @@ void UCogWindowManager::Render(float DeltaTime)
}
//--------------------------------------------------------------------------------------------------------------------------
void UCogWindowManager::AddWindow(UCogWindow* Window)
void UCogWindowManager::AddWindow(UCogWindow* Window, bool AddToMainMenu /*= true*/)
{
Window->SetOwner(this);
Windows.Add(Window);
if (AddToMainMenu)
{
if (FMenu* Menu = AddMenu(Window->GetFullName()))
{
Menu->Window = Window;
}
}
}
//--------------------------------------------------------------------------------------------------------------------------
@@ -169,16 +177,21 @@ void UCogWindowManager::SaveLayout(int LayoutIndex)
}
//--------------------------------------------------------------------------------------------------------------------------
void UCogWindowManager::RebuildMenu()
void UCogWindowManager::SortMainMenu()
{
MainMenu.SubMenus.Empty();
for (UCogWindow* Window : Windows)
{
check(Window);
Windows.Sort();
FMenu* NewMenu = AddMenu(Window->GetFullName());
NewMenu->Window = Window;
TArray<UCogWindow*> SortedWindows = Windows;
SortedWindows.Sort([](UCogWindow& Lhs, UCogWindow& Rhs) { return Lhs.GetFullName() < Rhs.GetFullName(); });
for (UCogWindow* Window : SortedWindows)
{
if (FMenu* Menu = AddMenu(Window->GetFullName()))
{
Menu->Window = Window;
}
}
}
@@ -23,23 +23,23 @@ public:
void Shutdown();
void RebuildMenu();
void SortMainMenu();
void Render(float DeltaTime);
void Tick(float DeltaTime);
template<class T>
T* CreateWindow(const FString& Name)
T* CreateWindow(const FString& Name, bool AddToMainMenu = true)
{
T* Window = NewObject<T>(this);
Window->SetFullName(Name);
Window->Initialize();
AddWindow(Window);
AddWindow(Window, AddToMainMenu);
return Window;
}
void AddWindow(UCogWindow* Window);
void AddWindow(UCogWindow* Window, bool AddToMainMenu = true);
void AddMainMenuWidget(UCogWindow* Window);