From 8cbecf504b85540d602fbf7b84e5750a92c872b6 Mon Sep 17 00:00:00 2001 From: Arnaud Jamin Date: Tue, 9 Jan 2024 01:12:31 -0500 Subject: [PATCH] Add a CogAll module to ease the integration for projects that want all windows --- .../Source/CogDebug/Private/CogDebugGizmo.cpp | 13 ++ Plugins/Cog/Source/CogDebug/Public/CogDebug.h | 6 +- .../Source/CogDebug/Public/CogDebugGizmo.h | 4 + .../CogEngineWindow_CollisionTester.cpp | 7 +- .../Public/CogEngineWindow_CollisionTester.h | 1 + Plugins/CogAll/CogAll.uplugin | 43 ++++++ Plugins/CogAll/Source/CogAll/CogAll.Build.cs | 24 +++ .../CogAll/Source/CogAll/Private/CogAll.cpp | 124 +++++++++++++++ .../Source/CogAll/Private/CogAllModule.cpp | 17 +++ Plugins/CogAll/Source/CogAll/Public/CogAll.h | 10 ++ .../Source/CogAll/Public/CogAllModule.h | 18 +++ Source/CogSample/CogSample.Build.cs | 9 +- Source/CogSample/CogSampleCharacter.cpp | 15 +- Source/CogSample/CogSampleCharacter.h | 2 + Source/CogSample/CogSampleGameState.cpp | 142 +----------------- 15 files changed, 280 insertions(+), 155 deletions(-) create mode 100644 Plugins/CogAll/CogAll.uplugin create mode 100644 Plugins/CogAll/Source/CogAll/CogAll.Build.cs create mode 100644 Plugins/CogAll/Source/CogAll/Private/CogAll.cpp create mode 100644 Plugins/CogAll/Source/CogAll/Private/CogAllModule.cpp create mode 100644 Plugins/CogAll/Source/CogAll/Public/CogAll.h create mode 100644 Plugins/CogAll/Source/CogAll/Public/CogAllModule.h diff --git a/Plugins/Cog/Source/CogDebug/Private/CogDebugGizmo.cpp b/Plugins/Cog/Source/CogDebug/Private/CogDebugGizmo.cpp index 4ad3b7b..37cabc7 100644 --- a/Plugins/Cog/Source/CogDebug/Private/CogDebugGizmo.cpp +++ b/Plugins/Cog/Source/CogDebug/Private/CogDebugGizmo.cpp @@ -188,6 +188,19 @@ void RenderSnap(bool* SnapEnable, float* Snap) ImGui::PopItemWidth(); } +//-------------------------------------------------------------------------------------------------------------------------- +bool FCogDebug_Gizmo::Draw(const char* Id, const APlayerController& InPlayerController, USceneComponent& SceneComponent, ECogDebug_GizmoFlags Flags) +{ + FTransform Transform = SceneComponent.GetComponentTransform(); + if (Draw(Id, InPlayerController, Transform, Flags)) + { + SceneComponent.SetWorldTransform(Transform); + return true; + } + + return false; +} + //-------------------------------------------------------------------------------------------------------------------------- bool FCogDebug_Gizmo::Draw(const char* Id, const APlayerController& InPlayerController, FTransform& InOutTransform, ECogDebug_GizmoFlags Flags) { diff --git a/Plugins/Cog/Source/CogDebug/Public/CogDebug.h b/Plugins/Cog/Source/CogDebug/Public/CogDebug.h index 5ff6034..dcd66e9 100644 --- a/Plugins/Cog/Source/CogDebug/Public/CogDebug.h +++ b/Plugins/Cog/Source/CogDebug/Public/CogDebug.h @@ -90,7 +90,7 @@ struct FCogDebugSettings float GizmoCursorSelectionThreshold = 10.0f; UPROPERTY(Config) - float GizmoTranslationAxisLength = 50.0f; + float GizmoTranslationAxisLength = 80.0f; UPROPERTY(Config) bool GizmoTranslationSnapEnable = false; @@ -126,10 +126,10 @@ struct FCogDebugSettings float GizmoScaleSnapValue = 1.0f; UPROPERTY(Config) - float GizmoScaleBoxOffset = 50.0f; + float GizmoScaleBoxOffset = 85.0f; UPROPERTY(Config) - float GizmoScaleBoxExtent = 2.0f; + float GizmoScaleBoxExtent = 5.0f; UPROPERTY(Config) float GizmoScaleSpeed = 0.01f; diff --git a/Plugins/Cog/Source/CogDebug/Public/CogDebugGizmo.h b/Plugins/Cog/Source/CogDebug/Public/CogDebugGizmo.h index 1c9bc11..65bcb4b 100644 --- a/Plugins/Cog/Source/CogDebug/Public/CogDebugGizmo.h +++ b/Plugins/Cog/Source/CogDebug/Public/CogDebugGizmo.h @@ -77,9 +77,13 @@ struct FCogDebug_GizmoElement //-------------------------------------------------------------------------------------------------------------------------- struct COGDEBUG_API FCogDebug_Gizmo { + bool Draw(const char* Id, const APlayerController& InPlayerController, USceneComponent& SceneComponent, ECogDebug_GizmoFlags Flags = ECogDebug_GizmoFlags::None); + bool Draw(const char* Id, const APlayerController& InPlayerController, FTransform& InOutTransform, ECogDebug_GizmoFlags Flags = ECogDebug_GizmoFlags::None); ECogDebug_GizmoElementType DraggedElementType = ECogDebug_GizmoElementType::MAX; + FVector2D CursorOffset = FVector2D::ZeroVector; + FTransform InitialTransform = FTransform::Identity; }; diff --git a/Plugins/Cog/Source/CogEngine/Private/CogEngineWindow_CollisionTester.cpp b/Plugins/Cog/Source/CogEngine/Private/CogEngineWindow_CollisionTester.cpp index 135c1d2..19fa703 100644 --- a/Plugins/Cog/Source/CogEngine/Private/CogEngineWindow_CollisionTester.cpp +++ b/Plugins/Cog/Source/CogEngine/Private/CogEngineWindow_CollisionTester.cpp @@ -106,11 +106,8 @@ void FCogEngineWindow_CollisionTester::RenderContent() if (const APlayerController* LocalPlayerController = GetLocalPlayerController()) { - FTransform Transform = CollisionTester->EndComponent->GetComponentTransform(); - if (EndGizmo.Draw("CollisionTesterEndGizmo", *LocalPlayerController, Transform, ECogDebug_GizmoFlags::NoRotation | ECogDebug_GizmoFlags::NoScale)) - { - CollisionTester->EndComponent->SetWorldTransform(Transform); - } + StartGizmo.Draw("CollisionTesterStartGizmo", *LocalPlayerController, *CollisionTester->StartComponent); + EndGizmo.Draw("CollisionTesterEndGizmo", *LocalPlayerController, *CollisionTester->EndComponent, ECogDebug_GizmoFlags::NoRotation | ECogDebug_GizmoFlags::NoScale); } FCogWindowWidgets::SetNextItemToShortWidth(); diff --git a/Plugins/Cog/Source/CogEngine/Public/CogEngineWindow_CollisionTester.h b/Plugins/Cog/Source/CogEngine/Public/CogEngineWindow_CollisionTester.h index 7eb8d03..9c38ea5 100644 --- a/Plugins/Cog/Source/CogEngine/Public/CogEngineWindow_CollisionTester.h +++ b/Plugins/Cog/Source/CogEngine/Public/CogEngineWindow_CollisionTester.h @@ -41,6 +41,7 @@ protected: TObjectPtr Config = nullptr; + FCogDebug_Gizmo StartGizmo; FCogDebug_Gizmo EndGizmo; }; diff --git a/Plugins/CogAll/CogAll.uplugin b/Plugins/CogAll/CogAll.uplugin new file mode 100644 index 0000000..7dd72b1 --- /dev/null +++ b/Plugins/CogAll/CogAll.uplugin @@ -0,0 +1,43 @@ +{ + "FileVersion": 3, + "Version": 1, + "VersionName": "1.0", + "FriendlyName": "CogAll", + "Description": "", + "Category": "Other", + "CreatedBy": "Arnaud Jamin", + "CreatedByURL": "", + "DocsURL": "", + "MarketplaceURL": "", + "SupportURL": "", + "CanContainContent": true, + "IsBetaVersion": false, + "IsExperimentalVersion": false, + "Installed": false, + "Modules": [ + { + "Name": "CogAll", + "Type": "Runtime", + "LoadingPhase": "Default" + } + ], + "Plugins": [ + { + "Name": "Cog", + "Enabled": true + }, + { + "Name": "CogAbility", + "Enabled": true + }, + { + "Name": "CogInput", + "Enabled": true + }, + { + "Name": "CogAI", + "Enabled": true + } + + ] +} \ No newline at end of file diff --git a/Plugins/CogAll/Source/CogAll/CogAll.Build.cs b/Plugins/CogAll/Source/CogAll/CogAll.Build.cs new file mode 100644 index 0000000..bdadfe4 --- /dev/null +++ b/Plugins/CogAll/Source/CogAll/CogAll.Build.cs @@ -0,0 +1,24 @@ +using UnrealBuildTool; + +public class CogAll : ModuleRules +{ + public CogAll(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange( + new [] + { + "Core", + "CoreUObject", + "CogCommon", + "CogAbility", + "CogAI", + "CogEngine", + "CogInput", + "CogWindow", + "Engine", + } + ); + } +} diff --git a/Plugins/CogAll/Source/CogAll/Private/CogAll.cpp b/Plugins/CogAll/Source/CogAll/Private/CogAll.cpp new file mode 100644 index 0000000..bf1e930 --- /dev/null +++ b/Plugins/CogAll/Source/CogAll/Private/CogAll.cpp @@ -0,0 +1,124 @@ +#include "CogAll.h" + +#include "CogAbilityWindow_Abilities.h" +#include "CogAbilityWindow_Attributes.h" +#include "CogAbilityWindow_Cheats.h" +#include "CogAbilityWindow_Effects.h" +#include "CogAbilityWindow_Pools.h" +#include "CogAbilityWindow_Tags.h" +#include "CogAbilityWindow_Tweaks.h" +#include "CogAIWindow_BehaviorTree.h" +#include "CogAIWindow_Blackboard.h" +#include "CogEngineWindow_CollisionTester.h" +#include "CogEngineWindow_CollisionViewer.h" +#include "CogEngineWindow_CommandBindings.h" +#include "CogEngineWindow_DebugSettings.h" +#include "CogEngineWindow_ImGui.h" +#include "CogEngineWindow_Inspector.h" +#include "CogEngineWindow_LogCategories.h" +#include "CogEngineWindow_Metrics.h" +#include "CogEngineWindow_NetEmulation.h" +#include "CogEngineWindow_OutputLog.h" +#include "CogEngineWindow_Plots.h" +#include "CogEngineWindow_Scalability.h" +#include "CogEngineWindow_Selection.h" +#include "CogEngineWindow_Skeleton.h" +#include "CogEngineWindow_Slate.h" +#include "CogEngineWindow_Spawns.h" +#include "CogEngineWindow_Stats.h" +#include "CogEngineWindow_TimeScale.h" +#include "CogEngineWindow_Transform.h" +#include "CogInputWindow_Actions.h" +#include "CogInputWindow_Gamepad.h" +#include "CogWindowManager.h" + +#include "GameFramework/Character.h" +#include "GameFramework/GameStateBase.h" +#include "GameFramework/GameUserSettings.h" + +//-------------------------------------------------------------------------------------------------------------------------- +void Cog::AddAllWindows(UCogWindowManager& CogWindowManager) +{ + //--------------------------------------- + // Engine + //--------------------------------------- + CogWindowManager.AddWindow("Engine.Collision Tester"); + + CogWindowManager.AddWindow("Engine.Collision Viewer"); + + CogWindowManager.AddWindow("Engine.Command Bindings"); + + CogWindowManager.AddWindow("Engine.Debug Settings"); + + CogWindowManager.AddWindow("Engine.ImGui"); + + FCogEngineWindow_Inspector* Inspector = CogWindowManager.AddWindow("Engine.Inspector"); + Inspector->AddFavorite(GEngine->GetGameUserSettings(), [](UObject* Object) + { + if (UGameUserSettings* UserSettings = Cast(Object)) + { + UserSettings->ApplySettings(true); + } + }); + + CogWindowManager.AddWindow("Engine.Log Categories"); + + CogWindowManager.AddWindow("Engine.Net Emulation"); + + CogWindowManager.AddWindow("Engine.Output Log"); + + CogWindowManager.AddWindow("Engine.Metrics"); + + CogWindowManager.AddWindow("Engine.Plots"); + + FCogEngineWindow_Selection* SelectionWindow = CogWindowManager.AddWindow("Engine.Selection"); + SelectionWindow->SetActorClasses({ ACharacter::StaticClass(), AActor::StaticClass(), AGameModeBase::StaticClass(), AGameStateBase::StaticClass() }); + SelectionWindow->SetTraceType(UEngineTypes::ConvertToTraceType(ECC_Pawn)); + + CogWindowManager.AddWindow("Engine.Scalability"); + + CogWindowManager.AddWindow("Engine.Skeleton"); + + CogWindowManager.AddWindow("Engine.Slate"); + + CogWindowManager.AddWindow("Engine.Spawns"); + + FCogEngineWindow_Stats* StatsWindow = CogWindowManager.AddWindow("Engine.Stats"); + + CogWindowManager.AddWindow("Engine.Time Scale"); + + CogWindowManager.AddWindow("Engine.Transform"); + + //--------------------------------------- + // Abilities + //--------------------------------------- + CogWindowManager.AddWindow("Gameplay.Abilities"); + + CogWindowManager.AddWindow("Gameplay.Attributes"); + + CogWindowManager.AddWindow("Gameplay.Blocking Tags"); + + CogWindowManager.AddWindow("Gameplay.Cheats"); + + CogWindowManager.AddWindow("Gameplay.Effects"); + + CogWindowManager.AddWindow("Gameplay.Pools"); + + CogWindowManager.AddWindow("Gameplay.Owned Tags"); + + CogWindowManager.AddWindow("Gameplay.Tweaks"); + + //--------------------------------------- + // AI + //--------------------------------------- + CogWindowManager.AddWindow("AI.Behavior Tree"); + + CogWindowManager.AddWindow("AI.Blackboard"); + + //--------------------------------------- + // Input + //--------------------------------------- + CogWindowManager.AddWindow("Input.Actions"); + + CogWindowManager.AddWindow("Input.Gamepad"); +} diff --git a/Plugins/CogAll/Source/CogAll/Private/CogAllModule.cpp b/Plugins/CogAll/Source/CogAll/Private/CogAllModule.cpp new file mode 100644 index 0000000..7544416 --- /dev/null +++ b/Plugins/CogAll/Source/CogAll/Private/CogAllModule.cpp @@ -0,0 +1,17 @@ +#include "CogAllModule.h" + +#define LOCTEXT_NAMESPACE "FCogAllModule" + +//-------------------------------------------------------------------------------------------------------------------------- +void FCogAllModule::StartupModule() +{ +} + +//-------------------------------------------------------------------------------------------------------------------------- +void FCogAllModule::ShutdownModule() +{ +} + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FCogAllModule, CogAll) \ No newline at end of file diff --git a/Plugins/CogAll/Source/CogAll/Public/CogAll.h b/Plugins/CogAll/Source/CogAll/Public/CogAll.h new file mode 100644 index 0000000..8cc3c82 --- /dev/null +++ b/Plugins/CogAll/Source/CogAll/Public/CogAll.h @@ -0,0 +1,10 @@ +#pragma once + +#include "CoreMinimal.h" + +class UCogWindowManager; + +namespace Cog +{ + void COGALL_API AddAllWindows(UCogWindowManager& CogWindowManager); +} diff --git a/Plugins/CogAll/Source/CogAll/Public/CogAllModule.h b/Plugins/CogAll/Source/CogAll/Public/CogAllModule.h new file mode 100644 index 0000000..b3c8ac0 --- /dev/null +++ b/Plugins/CogAll/Source/CogAll/Public/CogAllModule.h @@ -0,0 +1,18 @@ +#pragma once + +#include "CoreMinimal.h" +#include "Modules/ModuleManager.h" + +class COGALL_API FCogAllModule : public IModuleInterface +{ + +public: + + static inline FCogAllModule &Get() { return FModuleManager::LoadModuleChecked("CogAll"); } + + /** IModuleInterface implementation */ + virtual void StartupModule() override; + virtual void ShutdownModule() override; + +private: +}; diff --git a/Source/CogSample/CogSample.Build.cs b/Source/CogSample/CogSample.Build.cs index ae8847d..9118ff5 100644 --- a/Source/CogSample/CogSample.Build.cs +++ b/Source/CogSample/CogSample.Build.cs @@ -26,13 +26,14 @@ public class CogSample : ModuleRules { PublicDependencyModuleNames.AddRange(new string[] { - "CogDebug", - "CogImgui", - "CogWindow", - "CogEngine", "CogAbility", "CogAI", + "CogAll", + "CogDebug", + "CogEngine", + "CogImgui", "CogInput", + "CogWindow", }); } } diff --git a/Source/CogSample/CogSampleCharacter.cpp b/Source/CogSample/CogSampleCharacter.cpp index 2e9959d..7331e00 100644 --- a/Source/CogSample/CogSampleCharacter.cpp +++ b/Source/CogSample/CogSampleCharacter.cpp @@ -355,6 +355,8 @@ void ACogSampleCharacter::TryFinishInitialize() ACogAbilityReplicator::TryApplyAllTweaksOnActor(this); #endif //ENABLE_COG + RefreshScale(); + RegisterToAbilitySystemEvents(); bIsInitialized = true; @@ -679,12 +681,13 @@ void ACogSampleCharacter::OnGhostTagNewOrRemoved(const FGameplayTag InTag, int32 //-------------------------------------------------------------------------------------------------------------------------- void ACogSampleCharacter::OnScaleAttributeChanged(const FOnAttributeChangeData& Data) { - //---------------------------------------------------------------------------------- - // 'Data.NewValue' is not used because it seems to only corresponds to the changes - // of the BaseValue which do not account for the temporary modifiers. - //---------------------------------------------------------------------------------- - - const float CurrentScaleValue = AbilitySystem->GetNumericAttribute(Data.Attribute); + RefreshScale(); +} + +//-------------------------------------------------------------------------------------------------------------------------- +void ACogSampleCharacter::RefreshScale() +{ + const float CurrentScaleValue = AbilitySystem->GetNumericAttribute(UCogSampleAttributeSet_Misc::GetScaleAttribute()); Scale = CurrentScaleValue; MARK_PROPERTY_DIRTY_FROM_NAME(ACogSampleCharacter, Scale, this); diff --git a/Source/CogSample/CogSampleCharacter.h b/Source/CogSample/CogSampleCharacter.h index a9f6300..86504da 100644 --- a/Source/CogSample/CogSampleCharacter.h +++ b/Source/CogSample/CogSampleCharacter.h @@ -344,6 +344,8 @@ protected: void UpdateActiveAbilitySlots(); + void RefreshScale(); + UFUNCTION() void OnRep_Scale(); diff --git a/Source/CogSample/CogSampleGameState.cpp b/Source/CogSample/CogSampleGameState.cpp index 6b47f27..1ae49d0 100644 --- a/Source/CogSample/CogSampleGameState.cpp +++ b/Source/CogSample/CogSampleGameState.cpp @@ -1,48 +1,14 @@ #include "CogSampleGameState.h" #include "CogSampleAbilitySystemComponent.h" -#include "GameFramework/Character.h" -#include "GameFramework/GameMode.h" #include "GameFramework/GameState.h" #include "Modules/ModuleManager.h" #if ENABLE_COG -#include "CogAbilityWindow_Abilities.h" -#include "CogAbilityWindow_Attributes.h" -#include "CogAbilityWindow_Cheats.h" -#include "CogAbilityWindow_Effects.h" -#include "CogAbilityWindow_Pools.h" -#include "CogAbilityWindow_Tags.h" -#include "CogAbilityWindow_Tweaks.h" -#include "CogAIWindow_BehaviorTree.h" -#include "CogAIWindow_Blackboard.h" +#include "CogAll.h" #include "CogDebugPlot.h" -#include "CogEngineWindow_CollisionTester.h" -#include "CogEngineWindow_CollisionViewer.h" -#include "CogEngineWindow_CommandBindings.h" -#include "CogEngineWindow_DebugSettings.h" -#include "CogEngineWindow_ImGui.h" -#include "CogEngineWindow_Inspector.h" -#include "CogEngineWindow_LogCategories.h" -#include "CogEngineWindow_Metrics.h" -#include "CogEngineWindow_NetEmulation.h" -#include "CogEngineWindow_OutputLog.h" -#include "CogEngineWindow_Plots.h" -#include "CogEngineWindow_Scalability.h" -#include "CogEngineWindow_Selection.h" -#include "CogEngineWindow_Skeleton.h" -#include "CogEngineWindow_Slate.h" -#include "CogEngineWindow_Spawns.h" -#include "CogEngineWindow_Stats.h" -#include "CogEngineWindow_TimeScale.h" -#include "CogEngineWindow_Transform.h" -#include "CogInputWindow_Actions.h" -#include "CogInputWindow_Gamepad.h" #include "CogSampleWindow_Team.h" #include "CogWindowManager.h" - -#include "GameFramework/GameUserSettings.h" - #endif //ENABLE_COG //-------------------------------------------------------------------------------------------------------------------------- @@ -67,7 +33,10 @@ void ACogSampleGameState::BeginPlay() AbilitySystemComponent->InitAbilityActorInfo(this, this); #if ENABLE_COG - InitializeCog(); + CogWindowManager = NewObject(this); + CogWindowManagerRef = CogWindowManager; + Cog::AddAllWindows(*CogWindowManager); + CogWindowManager->AddWindow("Gameplay.Team"); #endif //ENABLE_COG } @@ -97,11 +66,6 @@ void ACogSampleGameState::Tick(float DeltaSeconds) FCogDebugPlot::PlotValue(this, "Frame Rate", GAverageFPS); FCogDebugPlot::PlotValue(this, "Frame Time", GAverageMS); - //const float LocalWorldTime = GetWorld()->GetTimeSeconds(); - //const float ServerWorldTime = GetServerWorldTimeSeconds(); - //const float ServerWorldTimeDelta = LocalWorldTime - ServerWorldTime; - //FCogDebugPlot::PlotValue(this, "Server World Time Delta", ServerWorldTimeDelta); - if (CogWindowManager != nullptr) { CogWindowManager->Tick(DeltaSeconds); @@ -109,99 +73,3 @@ void ACogSampleGameState::Tick(float DeltaSeconds) #endif //ENABLE_COG } - -#if ENABLE_COG - -//-------------------------------------------------------------------------------------------------------------------------- -void ACogSampleGameState::InitializeCog() -{ - CogWindowManager = NewObject(this); - CogWindowManagerRef = CogWindowManager; - - //--------------------------------------- - // Engine - //--------------------------------------- - CogWindowManager->AddWindow("Engine.Collision Tester"); - - CogWindowManager->AddWindow("Engine.Collision Viewer"); - - CogWindowManager->AddWindow("Engine.Command Bindings"); - - CogWindowManager->AddWindow("Engine.Debug Settings"); - - CogWindowManager->AddWindow("Engine.ImGui"); - - FCogEngineWindow_Inspector* Inspector = CogWindowManager->AddWindow("Engine.Inspector"); - Inspector->AddFavorite(GEngine->GetGameUserSettings(), [](UObject* Object) - { - if (UGameUserSettings* UserSettings = Cast(Object)) - { - UserSettings->ApplySettings(true); - } - }); - - CogWindowManager->AddWindow("Engine.Log Categories"); - - CogWindowManager->AddWindow("Engine.Net Emulation"); - - CogWindowManager->AddWindow("Engine.Output Log"); - - CogWindowManager->AddWindow("Engine.Metrics"); - - CogWindowManager->AddWindow("Engine.Plots"); - - FCogEngineWindow_Selection* SelectionWindow = CogWindowManager->AddWindow("Engine.Selection"); - SelectionWindow->SetActorClasses({ ACharacter::StaticClass(), AActor::StaticClass(), AGameModeBase::StaticClass(), AGameStateBase::StaticClass() }); - SelectionWindow->SetTraceType(UEngineTypes::ConvertToTraceType(ECollisionChannel::ECC_Pawn)); - - CogWindowManager->AddWindow("Engine.Scalability"); - - CogWindowManager->AddWindow("Engine.Skeleton"); - - CogWindowManager->AddWindow("Engine.Slate"); - - CogWindowManager->AddWindow("Engine.Spawns"); - - FCogEngineWindow_Stats* StatsWindow = CogWindowManager->AddWindow("Engine.Stats"); - - CogWindowManager->AddWindow("Engine.Time Scale"); - - CogWindowManager->AddWindow("Engine.Transform"); - - //--------------------------------------- - // Abilities - //--------------------------------------- - CogWindowManager->AddWindow("Gameplay.Abilities"); - - CogWindowManager->AddWindow("Gameplay.Attributes"); - - CogWindowManager->AddWindow("Gameplay.Blocking Tags"); - - CogWindowManager->AddWindow("Gameplay.Cheats"); - - CogWindowManager->AddWindow("Gameplay.Effects"); - - CogWindowManager->AddWindow("Gameplay.Pools"); - - CogWindowManager->AddWindow("Gameplay.Owned Tags"); - - CogWindowManager->AddWindow("Gameplay.Team"); - - CogWindowManager->AddWindow("Gameplay.Tweaks"); - - //--------------------------------------- - // AI - //--------------------------------------- - CogWindowManager->AddWindow("AI.Behavior Tree"); - - CogWindowManager->AddWindow("AI.Blackboard"); - - //--------------------------------------- - // Input - //--------------------------------------- - CogWindowManager->AddWindow("Input.Actions"); - - CogWindowManager->AddWindow("Input.Gamepad"); -} - -#endif //ENABLE_COG