From 34e08a9e2a733cf9c424479a4b64536ffe0ca265 Mon Sep 17 00:00:00 2001 From: Arnaud Jamin Date: Sun, 5 Nov 2023 01:10:22 -0400 Subject: [PATCH] CogSample: Add a window with the Team of the selection. --- Source/CogSample/CogSampleGameState.cpp | 3 ++ Source/CogSample/CogSampleWindow_Team.cpp | 37 +++++++++++++++++++++++ Source/CogSample/CogSampleWindow_Team.h | 26 ++++++++++++++++ TODO.txt | 3 +- 4 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 Source/CogSample/CogSampleWindow_Team.cpp create mode 100644 Source/CogSample/CogSampleWindow_Team.h diff --git a/Source/CogSample/CogSampleGameState.cpp b/Source/CogSample/CogSampleGameState.cpp index 86d5046..55cbcfa 100644 --- a/Source/CogSample/CogSampleGameState.cpp +++ b/Source/CogSample/CogSampleGameState.cpp @@ -44,6 +44,7 @@ #include "CogInputWindow_Actions.h" #include "CogInputWindow_Gamepad.h" #include "CogSampleLogCategories.h" +#include "CogSampleWindow_Team.h" #include "CogWindowManager.h" #include "GameFramework/GameUserSettings.h" @@ -181,6 +182,8 @@ void ACogSampleGameState::InitializeCog() CogWindowManager->AddWindow("Gameplay.Owned Tags"); + CogWindowManager->AddWindow("Gameplay.Team"); + CogWindowManager->AddWindow("Gameplay.Tweaks"); //--------------------------------------- diff --git a/Source/CogSample/CogSampleWindow_Team.cpp b/Source/CogSample/CogSampleWindow_Team.cpp new file mode 100644 index 0000000..afc8a07 --- /dev/null +++ b/Source/CogSample/CogSampleWindow_Team.cpp @@ -0,0 +1,37 @@ +#include "CogSampleWindow_Team.h" + +#if ENABLE_COG + +#include "CogImguiHelper.h" +#include "CogWindowHelper.h" +#include "CogWindowWidgets.h" +#include "CogSampleTeamInterface.h" + +//-------------------------------------------------------------------------------------------------------------------------- +void FCogSampleWindow_Team::Initialize() +{ + Super::Initialize(); +} + +//-------------------------------------------------------------------------------------------------------------------------- +void FCogSampleWindow_Team::RenderHelp() +{ + ImGui::Text("A window part of the sample project."); +} + +//-------------------------------------------------------------------------------------------------------------------------- +void FCogSampleWindow_Team::RenderContent() +{ + Super::RenderContent(); + + if (ICogSampleTeamInterface* TeamInterface = Cast(GetSelection())) + { + int32 Team = TeamInterface->GetTeam(); + if (ImGui::DragInt("Team", &Team, 0.1f, 0, 10)) + { + TeamInterface->SetTeam(Team); + } + } +} + +#endif //ENABLE_COG diff --git a/Source/CogSample/CogSampleWindow_Team.h b/Source/CogSample/CogSampleWindow_Team.h new file mode 100644 index 0000000..8a1564b --- /dev/null +++ b/Source/CogSample/CogSampleWindow_Team.h @@ -0,0 +1,26 @@ +#pragma once + +#include "CoreMinimal.h" +#include "CogCommon.h" + +#if ENABLE_COG + +#include "CogWindow.h" + +//-------------------------------------------------------------------------------------------------------------------------- +class FCogSampleWindow_Team : public FCogWindow +{ + typedef FCogWindow Super; + +public: + + virtual void Initialize() override; + +protected: + + virtual void RenderHelp() override; + + virtual void RenderContent() override; +}; + +#endif //ENABLE_COG \ No newline at end of file diff --git a/TODO.txt b/TODO.txt index b3dd0aa..62ca2f9 100644 --- a/TODO.txt +++ b/TODO.txt @@ -5,6 +5,7 @@ - CogWindow: Try to remove CogWindow dependency to cogimgui. Should only depends on imgui (currently use setdpiscale of cogimgui) - CogWindow: Overlay window should have achnoring options (top bottom left right center mid) - CogWindow: Hide menu is not saved anymore +- CogWindow: DPI change on mousewheel should be a command with a key bind as the rest. - CogEngine: More stats in the stats window - CogEngine: Overlay mode of stats. @@ -16,7 +17,7 @@ - CogEngine: Improve collision window: Add Query Type, Single or Multi, By Channel or Object Type, Object Type. - CogEngine: Add multi selection to the selection window actor filter (Character+GameState for example). -- CogSample: Add a custom window in sample (changing the character faction) +- CogSample: Add more info in the team window - CogSample: Create more abilities - CogSample: Push Model - CogSample: Add timescale game tweak