diff --git a/Content/Core/Hud/BP_Hud.uasset b/Content/Core/Hud/BP_Hud.uasset index c3bb4ba..5a53705 100644 Binary files a/Content/Core/Hud/BP_Hud.uasset and b/Content/Core/Hud/BP_Hud.uasset differ diff --git a/Content/Core/Hud/WBP_AbilityPanel.uasset b/Content/Core/Hud/WBP_AbilityPanel.uasset index 53e74f2..0f1b473 100644 Binary files a/Content/Core/Hud/WBP_AbilityPanel.uasset and b/Content/Core/Hud/WBP_AbilityPanel.uasset differ diff --git a/Content/Core/Hud/WBP_EffectPanel.uasset b/Content/Core/Hud/WBP_EffectPanel.uasset index 7f50411..1f11056 100644 Binary files a/Content/Core/Hud/WBP_EffectPanel.uasset and b/Content/Core/Hud/WBP_EffectPanel.uasset differ diff --git a/Content/Core/Hud/WBP_Hud.uasset b/Content/Core/Hud/WBP_Hud.uasset index 1d11409..2875f02 100644 Binary files a/Content/Core/Hud/WBP_Hud.uasset and b/Content/Core/Hud/WBP_Hud.uasset differ diff --git a/Content/Core/Hud/WBP_Menu.uasset b/Content/Core/Hud/WBP_Menu.uasset new file mode 100644 index 0000000..15529b2 Binary files /dev/null and b/Content/Core/Hud/WBP_Menu.uasset differ diff --git a/Content/Core/Hud/WBP_Status.uasset b/Content/Core/Hud/WBP_Status.uasset index 51be300..fdefad4 100644 Binary files a/Content/Core/Hud/WBP_Status.uasset and b/Content/Core/Hud/WBP_Status.uasset differ diff --git a/Content/Core/Input/Actions/IA_Menu.uasset b/Content/Core/Input/Actions/IA_Menu.uasset new file mode 100644 index 0000000..1d6e8f4 Binary files /dev/null and b/Content/Core/Input/Actions/IA_Menu.uasset differ diff --git a/Content/Core/Input/IMC_Default.uasset b/Content/Core/Input/IMC_Default.uasset index 1e67b59..cc00fc9 100644 Binary files a/Content/Core/Input/IMC_Default.uasset and b/Content/Core/Input/IMC_Default.uasset differ diff --git a/Content/Core/Input/IMC_Menu.uasset b/Content/Core/Input/IMC_Menu.uasset new file mode 100644 index 0000000..b18488a Binary files /dev/null and b/Content/Core/Input/IMC_Menu.uasset differ diff --git a/Plugins/Cog/Source/CogImgui/Private/CogImguiWidget.cpp b/Plugins/Cog/Source/CogImgui/Private/CogImguiWidget.cpp index 27147f6..5c9beb5 100644 --- a/Plugins/Cog/Source/CogImgui/Private/CogImguiWidget.cpp +++ b/Plugins/Cog/Source/CogImgui/Private/CogImguiWidget.cpp @@ -30,6 +30,11 @@ void SCogImguiWidget::Construct(const FArguments& InArgs) FontAtlas = InArgs._FontAtlas; Render = InArgs._Render; + if (FCogImguiModule::Get().GetEnableInput() == false) + { + SetVisibility(EVisibility::SelfHitTestInvisible); + } + ImGuiContext = ImGui::CreateContext(FontAtlas); ImPlotContext = ImPlot::CreateContext(); ImPlot::SetImGuiContext(ImGuiContext); @@ -163,6 +168,8 @@ void SCogImguiWidget::TickFocus() //-------------------------------------------------------------------------------------------------------------------------- void SCogImguiWidget::TakeFocus() { + SetVisibility(EVisibility::Visible); + FSlateApplication& SlateApplication = FSlateApplication::Get(); PreviousUserFocusedWidget = SlateApplication.GetUserFocusedWidget(SlateApplication.GetUserIndexForKeyboard()); @@ -182,6 +189,8 @@ void SCogImguiWidget::TakeFocus() //-------------------------------------------------------------------------------------------------------------------------- void SCogImguiWidget::ReturnFocus() { + SetVisibility(EVisibility::SelfHitTestInvisible); + if (HasKeyboardFocus()) { auto FocusWidgetPtr = PreviousUserFocusedWidget.IsValid() @@ -459,6 +468,11 @@ FReply SCogImguiWidget::OnMouseMove(const FGeometry& MyGeometry, const FPointerE //-------------------------------------------------------------------------------------------------------------------------- FReply SCogImguiWidget::OnFocusReceived(const FGeometry& MyGeometry, const FFocusEvent& FocusEvent) { + if (FCogImguiModule::Get().GetEnableInput() == false) + { + return FReply::Unhandled(); + } + Super::OnFocusReceived(MyGeometry, FocusEvent); FSlateApplication::Get().ResetToDefaultPointerInputSettings(); diff --git a/Source/CogSample/CogSampleGameState.cpp b/Source/CogSample/CogSampleGameState.cpp index 55cbcfa..54b34e5 100644 --- a/Source/CogSample/CogSampleGameState.cpp +++ b/Source/CogSample/CogSampleGameState.cpp @@ -108,7 +108,10 @@ void ACogSampleGameState::Tick(float DeltaSeconds) //const float ServerWorldTimeDelta = LocalWorldTime - ServerWorldTime; //FCogDebugPlot::PlotValue(this, "Server World Time Delta", ServerWorldTimeDelta); - CogWindowManager->Tick(DeltaSeconds); + if (CogWindowManager != nullptr) + { + CogWindowManager->Tick(DeltaSeconds); + } #endif //ENABLE_COG }