From ad8e49f590ea944e1bc0ae312dae819ce2b49839 Mon Sep 17 00:00:00 2001 From: Arnaud Jamin Date: Wed, 11 Oct 2023 00:17:56 -0400 Subject: [PATCH] Update README.md --- README.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 1083d95..14b46e5 100644 --- a/README.md +++ b/README.md @@ -182,7 +182,7 @@ You must have Unreal 5.1 or greater and Visual Studio to launch the sample 7. Once in Unreal, press Play (Alt+P) 8. Press the `[Insert]` key or use the `Cog.ToggleInput` console command to open the Imgui Main Menu. -### Integrating Cog into your project +### Integrating Cog in your project The Cog repository has the following structure: - `CogSample` - A Sample that demonstrate various Cog functionalities. The project was saved in Unreal 5.1 @@ -194,12 +194,12 @@ The Cog repository has the following structure: - `Plugins/CogImGui` - Integration of Imgui for Unreal, inspired by [UnrealImGui](https://github.com/segross/UnrealImGui) - `Plugins/CogCommon` - Common headers -Cog has multiple plugins to ease the integration for projects that do not use the `Ability System Component` or `Enhanced Input`. -For the setup next steps, it is assumed all the plugins are used. +Cog has multiple plugins to ease the integration for projects that do not use the `Ability System Component` or `Enhanced Input`. For the next steps, it is assumed all the plugins are used. 1. Setup up module dependencies: ```c# +// CogSample.Build.cs using UnrealBuildTool; public class CogSample : ModuleRules @@ -239,12 +239,11 @@ public class CogSample : ModuleRules } ``` -2. In the class of your choice (in the sample we use the GameState class) add a reference to the CogWindowManager. - -#pragma once +2. In the class of your choice (in the sample we use the GameState class) add a reference to the CogWindowManager: ```cpp -//ACogSampleGameState.h +// ACogSampleGameState.h +#pragma once #include "CoreMinimal.h" #include "CogCommon.h" @@ -272,6 +271,7 @@ class ACogSampleGameState : public AGameStateBase 3. Instantiate the CogWindowManager and add some windows: ```cpp +// ACogSampleGameState.cpp void ACogSampleGameState::BeginPlay() { Super::BeginPlay(); @@ -279,6 +279,8 @@ void ACogSampleGameState::BeginPlay() #if ENABLE_COG CogWindowManager = NewObject(this); CogWindowManagerRef = CogWindowManager; + + // Add some windows CogWindowManager->CreateWindow("Engine.Debug Settings"); CogWindowManager->CreateWindow("Engine.ImGui"); [...] @@ -290,12 +292,14 @@ void ACogSampleGameState::BeginPlay() 3. Define which key will toggle the input from the game to Imgui: ```cpp +// ACogSampleGameState.cpp FCogImguiModule::Get().SetToggleInputKey(FCogImGuiKeyInfo(EKeys::Insert)); ``` 4. Tick the CogWindowManager: ```cpp +// ACogSampleGameState.cpp void ACogSampleGameState::Tick(float DeltaSeconds) { Super::Tick(DeltaSeconds);