diff --git a/.idea/.idea.FPSTemplate.dir/.idea/workspace.xml b/.idea/.idea.FPSTemplate.dir/.idea/workspace.xml
index 3be067bd..bf107a9c 100644
--- a/.idea/.idea.FPSTemplate.dir/.idea/workspace.xml
+++ b/.idea/.idea.FPSTemplate.dir/.idea/workspace.xml
@@ -118,10 +118,8 @@
-
-
-
-
+
+
@@ -141,13 +139,17 @@
+
+
+
+
@@ -175,25 +177,25 @@
- {
+ "keyToString": {
+ "ModuleVcsDetector.initialDetectionPerformed": "true",
+ "RunOnceActivity.MCP Project settings loaded": "true",
+ "RunOnceActivity.ShowReadmeOnStart": "true",
+ "RunOnceActivity.git.unshallow": "true",
+ "RunOnceActivity.typescript.service.memoryLimit.init": "true",
+ "Uproject.FPSTemplate.executor": "Run",
+ "git-widget-placeholder": "new/API__Gateway__v2",
+ "ignore.virus.scanning.warn.message": "true",
+ "node.js.detected.package.eslint": "true",
+ "node.js.detected.package.tslint": "true",
+ "node.js.selected.package.eslint": "(autodetect)",
+ "node.js.selected.package.tslint": "(autodetect)",
+ "nodejs_package_manager_path": "npm",
+ "settings.editor.selected.configurable": "ml.llm.AcpAgentsConfigurable",
+ "vue.rearranger.settings.migration": "true"
}
-}]]>
+}
@@ -64922,7 +64924,8 @@
-
+
+
diff --git a/Content/DedicatedServers/APITest/BP_APITestManager.uasset b/Content/DedicatedServers/APITest/BP_APITestManager.uasset
index 3bff211f..36507491 100644
Binary files a/Content/DedicatedServers/APITest/BP_APITestManager.uasset and b/Content/DedicatedServers/APITest/BP_APITestManager.uasset differ
diff --git a/Content/DedicatedServers/Data/DA_GameSessionsAPIData.uasset b/Content/DedicatedServers/Data/DA_GameSessionsAPIData.uasset
new file mode 100644
index 00000000..a1b881ef
Binary files /dev/null and b/Content/DedicatedServers/Data/DA_GameSessionsAPIData.uasset differ
diff --git a/Source/DedicatedServers/DedicatedServers.build.cs b/Source/DedicatedServers/DedicatedServers.build.cs
index 6cd5998e..7f913846 100644
--- a/Source/DedicatedServers/DedicatedServers.build.cs
+++ b/Source/DedicatedServers/DedicatedServers.build.cs
@@ -13,6 +13,7 @@ public class DedicatedServers : ModuleRules
"CoreUObject",
"Engine",
"OpenSSL",
+ "GameplayTags"
});
PrivateDependencyModuleNames.AddRange(new string[]
diff --git a/Source/DedicatedServers/Private/Data/API/APIData.cpp b/Source/DedicatedServers/Private/Data/API/APIData.cpp
new file mode 100644
index 00000000..c7b77277
--- /dev/null
+++ b/Source/DedicatedServers/Private/Data/API/APIData.cpp
@@ -0,0 +1,10 @@
+// Fill out your copyright notice in the Description page of Project Settings.
+
+
+#include "Data/API/APIData.h"
+
+FString UAPIData::GetAPIEndPoint(const FGameplayTag& APIEndPoint)
+{
+ const FString ResourceName = Resources.FindChecked(APIEndPoint);
+ return InvokeUrl + "/" + Stage + "/" + ResourceName;
+}
diff --git a/Source/DedicatedServers/Private/GameplayTags/DedicatedServerTags.cpp b/Source/DedicatedServers/Private/GameplayTags/DedicatedServerTags.cpp
new file mode 100644
index 00000000..3d1818ea
--- /dev/null
+++ b/Source/DedicatedServers/Private/GameplayTags/DedicatedServerTags.cpp
@@ -0,0 +1,9 @@
+#include "GameplayTags/DedicatedServerTags.h"
+
+namespace DedicatedServersTags
+{
+ namespace GameSessionsAPI
+ {
+ UE_DEFINE_GAMEPLAY_TAG_COMMENT(ListFleets, "DedicatedServersTags.GameSessionsAPI.ListFleets", "List Fleets resource on the GameSessions API")
+ }
+}
\ No newline at end of file
diff --git a/Source/DedicatedServers/Public/Data/API/APIData.h b/Source/DedicatedServers/Public/Data/API/APIData.h
new file mode 100644
index 00000000..fbbdd96b
--- /dev/null
+++ b/Source/DedicatedServers/Public/Data/API/APIData.h
@@ -0,0 +1,38 @@
+// Fill out your copyright notice in the Description page of Project Settings.
+
+#pragma once
+
+#include "CoreMinimal.h"
+#include "Engine/DataAsset.h"
+#include "GameplayTags/DedicatedServerTags.h"
+#include "APIData.generated.h"
+
+/**
+ *
+ */
+UCLASS()
+class DEDICATEDSERVERS_API UAPIData : public UDataAsset
+{
+ GENERATED_BODY()
+
+public:
+
+ FString GetAPIEndPoint(const FGameplayTag& APIEndPoint);
+
+protected:
+
+ // Name of this API - for labeling in the Data Asset; This is nto used by any code.
+ UPROPERTY(EditDefaultsOnly)
+ FString Name;
+
+ UPROPERTY(EditDefaultsOnly)
+ FString InvokeUrl;
+
+ UPROPERTY(EditDefaultsOnly)
+ FString Stage;
+
+ UPROPERTY(EditDefaultsOnly)
+ TMap Resources;
+
+
+};
diff --git a/Source/DedicatedServers/Public/GameplayTags/DedicatedServerTags.h b/Source/DedicatedServers/Public/GameplayTags/DedicatedServerTags.h
new file mode 100644
index 00000000..7824d30f
--- /dev/null
+++ b/Source/DedicatedServers/Public/GameplayTags/DedicatedServerTags.h
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "CoreMinimal.h"
+#include "NativeGameplayTags.h"
+
+namespace DedicatedServersTags
+{
+ namespace GameSessionsAPI
+ {
+ UE_DECLARE_GAMEPLAY_TAG_EXTERN(ListFleets);
+ }
+}
\ No newline at end of file
diff --git a/Source/DedicatedServers/Public/UI/HTTP/HTTPRequestManager.h b/Source/DedicatedServers/Public/UI/HTTP/HTTPRequestManager.h
index e0a1c735..99135b5f 100644
--- a/Source/DedicatedServers/Public/UI/HTTP/HTTPRequestManager.h
+++ b/Source/DedicatedServers/Public/UI/HTTP/HTTPRequestManager.h
@@ -6,6 +6,8 @@
#include "UObject/Object.h"
#include "HTTPRequestManager.generated.h"
+class UAPIData;
+
/**
*
*/
@@ -13,4 +15,9 @@ UCLASS(Blueprintable)
class DEDICATEDSERVERS_API UHTTPRequestManager : public UObject
{
GENERATED_BODY()
+
+protected:
+
+ UPROPERTY(EditDefaultsOnly)
+ TObjectPtr APIData;
};