Define UItemInstance base UObject with stable GUID
This commit is contained in:
@@ -0,0 +1,17 @@
|
|||||||
|
#include "ItemInstance.h"
|
||||||
|
|
||||||
|
void UItemInstance::PostInitProperties()
|
||||||
|
{
|
||||||
|
Super::PostInitProperties();
|
||||||
|
|
||||||
|
if (HasAnyFlags(RF_ClassDefaultObject | RF_ArchetypeObject | RF_NeedLoad))
|
||||||
|
return;
|
||||||
|
if (!InstanceID.IsValid())
|
||||||
|
InstanceID = FGuid::NewGuid();
|
||||||
|
}
|
||||||
|
|
||||||
|
void UItemInstance::PostDuplicate(EDuplicateMode::Type DuplicateMode)
|
||||||
|
{
|
||||||
|
Super::PostDuplicate(DuplicateMode);
|
||||||
|
InstanceID = FGuid::NewGuid();
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "CoreMinimal.h"
|
||||||
|
#include "UObject/Object.h"
|
||||||
|
#include "ItemInstance.generated.h"
|
||||||
|
|
||||||
|
UCLASS(Abstract)
|
||||||
|
class NAKEDDESIRE_API UItemInstance : public UObject
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual void PostInitProperties() override;
|
||||||
|
virtual void PostDuplicate(EDuplicateMode::Type DuplicateMode) override;
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category = "Item")
|
||||||
|
FGuid GetInstanceID() const { return InstanceID; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
UPROPERTY(VisibleAnywhere, SaveGame, BlueprintReadOnly, Category = "Item", meta = (AllowPrivateAccess = "true"))
|
||||||
|
FGuid InstanceID;
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user