Lesson 59 - Game Sessions API Data Asset
This commit is contained in:
@@ -14,7 +14,8 @@ public class DedicatedServers : ModuleRules
|
||||
{
|
||||
"Core",
|
||||
"CoreUObject",
|
||||
"Engine"
|
||||
"Engine",
|
||||
"GameplayTags"
|
||||
});
|
||||
|
||||
PrivateDependencyModuleNames.AddRange(new string[]
|
||||
|
||||
11
Source/DedicatedServers/Private/Data/API/APIData.cpp
Normal file
11
Source/DedicatedServers/Private/Data/API/APIData.cpp
Normal file
@@ -0,0 +1,11 @@
|
||||
// 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;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
#include "GameplayTags/DedicatedServersTags.h"
|
||||
|
||||
namespace DedicatedServersTags
|
||||
{
|
||||
namespace GameSessionsAPI
|
||||
{
|
||||
UE_DEFINE_GAMEPLAY_TAG_COMMENT(ListFleets, "DedicatedServersTags.GameSessionsAPI.ListFleets", "List Fleets resource on the Game Session Resource")
|
||||
}
|
||||
}
|
||||
38
Source/DedicatedServers/Public/Data/API/APIData.h
Normal file
38
Source/DedicatedServers/Public/Data/API/APIData.h
Normal file
@@ -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/DedicatedServersTags.h"
|
||||
#include "APIData.generated.h"
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class DEDICATEDSERVERS_API UAPIData : public UDataAsset
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
FString GetAPIEndpoint(const FGameplayTag& APIEndpoint);
|
||||
|
||||
protected:
|
||||
|
||||
// Name of the API - for labeling in the Data Asset; this is not used by any code.
|
||||
|
||||
UPROPERTY(EditAnywhere)
|
||||
FString Name;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly)
|
||||
FString InvokeUrl;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly)
|
||||
FString Stage;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly)
|
||||
TMap<FGameplayTag, FString> Resources;
|
||||
|
||||
|
||||
};
|
||||
@@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "NativeGameplayTags.h"
|
||||
|
||||
namespace DedicatedServersTags
|
||||
{
|
||||
namespace GameSessionsAPI
|
||||
{
|
||||
UE_DECLARE_GAMEPLAY_TAG_EXTERN(ListFleets)
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,8 @@
|
||||
#include "UObject/Object.h"
|
||||
#include "HTTPRequestManager.generated.h"
|
||||
|
||||
class UAPIData;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@@ -14,5 +16,10 @@ class DEDICATEDSERVERS_API UHTTPRequestManager : public UObject
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
protected:
|
||||
|
||||
UPROPERTY(EditDefaultsOnly)
|
||||
TObjectPtr<UAPIData> APIData;
|
||||
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user