#pragma once

#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "K32SurvivorStatus.generated.h"

class ASurvivor;

USTRUCT(BlueprintType)
struct FK32SurvivorStatus
{
	GENERATED_BODY()

public:
	UPROPERTY(BlueprintReadWrite, Transient)
	ASurvivor* OwningSurvivor;

	UPROPERTY(BlueprintReadWrite, Transient)
	bool IsAssimilated;

	UPROPERTY(BlueprintReadWrite, Transient)
	TArray<FVector> RecentLocations;

	UPROPERTY(BlueprintReadWrite, NotReplicated, Transient)
	TMap<ASurvivor*, float> Authority_CrossAssimilationStartedTime;

	UPROPERTY(BlueprintReadWrite, NotReplicated, Transient)
	bool Authority_IsBeingCrossAssimilated;

	UPROPERTY(BlueprintReadWrite, NotReplicated, Transient)
	bool Authority_CanBeAffectedByPower;

	UPROPERTY(BlueprintReadWrite, NotReplicated, Transient)
	float Authority_LastTimeCanBeAffectedByPowerEnabled;

public:
	THEK32_API FK32SurvivorStatus();
};

FORCEINLINE uint32 GetTypeHash(const FK32SurvivorStatus) { return 0; }
