Add MVP debug dev menu

This commit is contained in:
2026-05-18 21:16:24 -07:00
parent 7c98bb7d41
commit 1cc91b5b8d
6 changed files with 104 additions and 1 deletions
+28
View File
@@ -25,6 +25,7 @@ void AAgrarianDebugHUD::DrawHUD()
DrawMvpHudFrame(AgrarianCharacter);
DrawDeathRespawnPanel(AgrarianCharacter);
DrawDebugDevMenu();
DrawInteractionPrompt(AgrarianCharacter);
DrawCriticalStats(AgrarianCharacter->GetSurvivalComponent());
const float InventoryBottomY = DrawInventoryPanel(AgrarianCharacter);
@@ -69,6 +70,33 @@ void AAgrarianDebugHUD::DrawMvpHudFrame(const AAgrarianGameCharacter* AgrarianCh
DrawText(HudText, FColor(225, 235, 220), X + (18.0f * Scale), Y + (16.0f * Scale), nullptr, 0.86f * Scale, false);
}
void AAgrarianDebugHUD::DrawDebugDevMenu()
{
if (!bShowDebugDevMenu || !Canvas)
{
return;
}
const float Scale = FMath::Max(0.25f, InventoryTextScale);
const float PanelWidth = 410.0f * Scale;
const float PanelHeight = 206.0f * Scale;
const float X = FMath::Max(32.0f, Canvas->ClipX - PanelWidth - 32.0f);
float Y = FMath::Max(32.0f, Canvas->ClipY - PanelHeight - 32.0f);
DrawRect(FLinearColor(0.018f, 0.022f, 0.018f, 0.82f), X, Y, PanelWidth, PanelHeight);
DrawRect(FLinearColor(0.45f, 0.72f, 0.40f, 0.92f), X, Y, PanelWidth, 3.0f * Scale);
Y += 16.0f * Scale;
const float TextX = X + (16.0f * Scale);
DrawScaledLine(TEXT("DEV MENU"), TextX, Y, Scale, FColor(160, 220, 140));
DrawScaledLine(TEXT("AgrarianShowMvpScreen main|character|join|loading"), TextX, Y, 0.78f * Scale, FColor(215, 225, 205));
DrawScaledLine(TEXT("AgrarianSelectCharacter male|female"), TextX, Y, 0.78f * Scale, FColor(215, 225, 205));
DrawScaledLine(TEXT("AgrarianToggleInventoryUI / CraftingUI"), TextX, Y, 0.78f * Scale, FColor(215, 225, 205));
DrawScaledLine(TEXT("AgrarianToggleInteractionPrompts"), TextX, Y, 0.78f * Scale, FColor(215, 225, 205));
DrawScaledLine(TEXT("AgrarianSaveWorld / AgrarianLoadWorld"), TextX, Y, 0.78f * Scale, FColor(215, 225, 205));
DrawScaledLine(TEXT("AgrarianRespawn / AgrarianHeal"), TextX, Y, 0.78f * Scale, FColor(215, 225, 205));
}
void AAgrarianDebugHUD::DrawDeathRespawnPanel(const AAgrarianGameCharacter* AgrarianCharacter)
{
if (!bShowDeathRespawnUI || !AgrarianCharacter || !Canvas)