Lesson 58 - HTTP Request Manager

This commit is contained in:
Norman Lansing
2026-03-29 07:54:19 -04:00
parent 2805d7fb92
commit a487c71b44
10 changed files with 96 additions and 2 deletions

View File

@@ -0,0 +1,9 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "UI/APITest/APITestManager.h"
void UAPITestManager::ListFleetsButtonClicked()
{
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, "List Fleets Button Clicked");
}

View File

@@ -2,3 +2,20 @@
#include "UI/APITest/APITestOverlay.h"
#include "Components/Button.h"
#include "UI/API/ListFleets/ListFleetsBox.h"
#include "UI/APITest/APITestManager.h"
void UAPITestOverlay::NativeConstruct()
{
Super::NativeConstruct();
check(APITestManagerClass);
APITestManager = NewObject<UAPITestManager>(this, APITestManagerClass);
check(ListFleetsBox)
check(ListFleetsBox->Button_ListFleets)
ListFleetsBox->Button_ListFleets->OnClicked.AddDynamic(APITestManager, &UAPITestManager::ListFleetsButtonClicked);
}

View File

@@ -0,0 +1,4 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "UI/HTTP/HTTPRequestManager.h"

View File

@@ -24,5 +24,4 @@ public:
UPROPERTY(meta = (BindWidget))
TObjectPtr<UButton> Button_ListFleets;
};

View File

@@ -0,0 +1,21 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "UI/HTTP/HTTPRequestManager.h"
#include "APITestManager.generated.h"
/**
*
*/
UCLASS()
class DEDICATEDSERVERS_API UAPITestManager : public UHTTPRequestManager
{
GENERATED_BODY()
public:
UFUNCTION()
void ListFleetsButtonClicked();
};

View File

@@ -6,6 +6,8 @@
#include "Blueprint/UserWidget.h"
#include "APITestOverlay.generated.h"
class UListFleetsBox;
class UAPITestManager;
/**
*
*/
@@ -13,4 +15,22 @@ UCLASS()
class DEDICATEDSERVERS_API UAPITestOverlay : public UUserWidget
{
GENERATED_BODY()
public:
UPROPERTY(EditDefaultsOnly)
TSubclassOf<UAPITestManager> APITestManagerClass;
protected:
virtual void NativeConstruct() override;
private:
UPROPERTY(meta = (BindWidget))
TObjectPtr<UListFleetsBox> ListFleetsBox = nullptr;
UPROPERTY()
TObjectPtr<UAPITestManager> APITestManager;
};

View File

@@ -0,0 +1,16 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "UObject/Object.h"
#include "HTTPRequestManager.generated.h"
/**
*
*/
UCLASS(Blueprintable)
class DEDICATEDSERVERS_API UHTTPRequestManager : public UObject
{
GENERATED_BODY()
};