Files
Cog/Plugins/Cog/Source/CogEngine/Public/CogEngineWindow_NetImGui.h
T
Arnaud Jamin 9a0c32c4b8 Support NetImgui on dedicated server
Support the creation of ImGui context on dedicated server (remove the requirements on the game viewport and slate application)
Add an option to auto connect to the netimgui server when running on a dedicated game server. On by default.
2025-01-02 22:44:19 -05:00

69 lines
1.3 KiB
C++

#pragma once
#include "CoreMinimal.h"
#include "CogCommonConfig.h"
#include "CogWindow.h"
#include "CogEngineWindow_NetImGui.generated.h"
class UCogEngineConfig_NetImGui;
class COGENGINE_API FCogEngineWindow_NetImGui : public FCogWindow
{
typedef FCogWindow Super;
public:
virtual void Initialize() override;
virtual void Shutdown() override;
protected:
virtual void ResetConfig() override;
virtual void RenderHelp() override;
virtual void RenderContent() override;
virtual void RenderTick(float DeltaTime);
void ConnectTo();
void ConnectFrom();
void Disconnect();
void TryStartup();
private:
TWeakObjectPtr<UCogEngineConfig_NetImGui> Config = nullptr;
bool HasAlreadyTriedToConnectOnDedicatedServer = false;
};
//--------------------------------------------------------------------------------------------------------------------------
UCLASS(Config = Cog)
class UCogEngineConfig_NetImGui : public UCogCommonConfig
{
GENERATED_BODY()
public:
virtual void Reset() override;
UPROPERTY(Config)
FString ClientName = FString("cog");
UPROPERTY(Config)
FString ServerName = FString("localhost");
UPROPERTY(Config)
int32 ServerPort = 8888;
UPROPERTY(Config)
int32 ClientPort = 8889;
UPROPERTY(Config)
bool AutoConnectOnDedicatedServer = true;
};