LogoArcana  0.0.1
ArcanaVirtualizedSpawnTypes.h
Go to the documentation of this file.
1#pragma once
2
3#include "CoreMinimal.h"
4#include "GameplayTagContainer.h"
5#include "Engine/DataTable.h"
6#include "ArcanaVirtualizedSpawnTypes.generated.h"
7
8UENUM(BlueprintType)
9enum class ESpawnState : uint8
10{
11 Unspawned = 0,
12 AsyncLoading = 1,
13 Materialized = 2,
15};
16
17UENUM(BlueprintType)
18enum class EDataFetchMode : uint8
19{
22};
23
24// Unified run-time definition schema
25USTRUCT(BlueprintType)
27{
28 GENERATED_BODY()
29
30 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Spawning")
31 TSoftClassPtr<AActor> ActorClass;
32
33 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Spawning")
34 FGameplayTag ItemTag;
35
36 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Spawning")
37 FGameplayTag RarityTag;
38
39 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Spawning")
40 FGameplayTag ZoneTypeTag;
41
42 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Spawning")
43 int32 GlobalMaxCount = -1;
44};
45
46// Kept purely for Local Mode fallback operation inside Editor/Engine content browsers
47USTRUCT(BlueprintType)
48struct FSmartSpawnRow : public FTableRowBase
49{
50 GENERATED_BODY()
51
52 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Spawning")
53 TSoftClassPtr<AActor> ActorClass;
54
55 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Spawning")
56 FGameplayTag ItemTag;
57
58 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Spawning")
59 FGameplayTag RarityTag;
60
61 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Spawning")
62 FGameplayTag ZoneTypeTag;
63
64 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Spawning")
65 int32 GlobalMaxCount = -1;
66};
67
68// STRUCT_ALIGNMENT_VALIDATION(FPackedSpawnInstance);
69struct alignas(16) FPackedSpawnInstance
70{
71 FVector Position;
73 FRotator Rotation;
74 FGameplayTag ItemTag;
77
78 TWeakObjectPtr<AActor> PhysicalActor;
81};
ESpawnState
Definition: ArcanaVirtualizedSpawnTypes.h:10
EDataFetchMode
Definition: ArcanaVirtualizedSpawnTypes.h:19
Definition: ArcanaVirtualizedSpawnTypes.h:70
TWeakObjectPtr< AActor > PhysicalActor
Definition: ArcanaVirtualizedSpawnTypes.h:78
uint32 UniqueInstanceHash
Definition: ArcanaVirtualizedSpawnTypes.h:75
float MinRespawnDelay
Definition: ArcanaVirtualizedSpawnTypes.h:79
float MaxRespawnDelay
Definition: ArcanaVirtualizedSpawnTypes.h:80
FRotator Rotation
Definition: ArcanaVirtualizedSpawnTypes.h:73
FGameplayTag ItemTag
Definition: ArcanaVirtualizedSpawnTypes.h:74
uint32 AssociatedID
Definition: ArcanaVirtualizedSpawnTypes.h:72
FVector Position
Definition: ArcanaVirtualizedSpawnTypes.h:71
ESpawnState CurrentState
Definition: ArcanaVirtualizedSpawnTypes.h:76
Definition: ArcanaVirtualizedSpawnTypes.h:49
Definition: ArcanaVirtualizedSpawnTypes.h:27