DRG-Femboy-Voice/Source/FSD/Public/IconGenerationManager.h
2025-04-15 12:39:31 -07:00

75 lines
3.3 KiB
C++
Executable file

#pragma once
#include "CoreMinimal.h"
#include "UObject/Object.h"
#include "Engine/LatentActionManager.h"
#include "EPickaxePartLocation.h"
#include "EVanitySlot.h"
#include "GenerateIconInfo.h"
#include "PickaxeSet.h"
#include "IconGenerationManager.generated.h"
class AIconGenerationBase;
class AIconGenerationCharacter;
class AIconGenerationPickaxe;
class AIconGenerationWeapon;
class UIconGenerationManager;
class UItemSkin;
class UPickaxePart;
class UPlayerCharacterID;
class UTextureRenderTarget2D;
class UVanityItem;
UCLASS(Blueprintable)
class UIconGenerationManager : public UObject {
GENERATED_BODY()
public:
protected:
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
AIconGenerationCharacter* GeneratorInst;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
AIconGenerationPickaxe* PickaxeGeneratorInst;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
AIconGenerationWeapon* WeaponGeneratorInst;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
TArray<FGenerateIconInfo> ItemGenerationQueue;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TArray<EVanitySlot> VanitySlots;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TArray<UVanityItem*> HairColorHairItems;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TSoftClassPtr<AIconGenerationCharacter> IconCharacter;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TSoftClassPtr<AIconGenerationPickaxe> IconPickaxe;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TSoftClassPtr<AIconGenerationWeapon> IconWeapon;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
UTextureRenderTarget2D* LatestGeneratedTexture;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
AIconGenerationBase* ActiveIconGenerator;
public:
UIconGenerationManager();
UFUNCTION(BlueprintCallable, meta=(Latent, LatentInfo="LatentInfo"))
static void GenerateWeaponIcon_Async(UIconGenerationManager* manager, UItemSkin* Item, bool inShowCloseUp, UPlayerCharacterID* Character, UTextureRenderTarget2D*& Icon, FLatentActionInfo LatentInfo);
UFUNCTION(BlueprintCallable, meta=(Latent, LatentInfo="LatentInfo"))
static void GenerateVanityIcon_Async(UIconGenerationManager* manager, UVanityItem* Item, UPlayerCharacterID* Character, UTextureRenderTarget2D*& Icon, FLatentActionInfo LatentInfo);
UFUNCTION(BlueprintCallable, meta=(Latent, LatentInfo="LatentInfo"))
static void GeneratePickaxeSetIcon_Async(UIconGenerationManager* manager, FPickaxeSet PickaxeSet, UPlayerCharacterID* Character, UTextureRenderTarget2D*& Icon, FLatentActionInfo LatentInfo);
UFUNCTION(BlueprintCallable, meta=(Latent, LatentInfo="LatentInfo"))
static void GeneratePickaxePartIcon_Async(UIconGenerationManager* manager, UPickaxePart* part, EPickaxePartLocation PickaxePartLocation, UPlayerCharacterID* Character, UTextureRenderTarget2D*& Icon, FLatentActionInfo LatentInfo);
};