#pragma once #include "CoreMinimal.h" #include "UObject/NoExportTypes.h" #include "Engine/DataAsset.h" #include "EVanitySlot.h" #include "CharacterVanityItems.generated.h" class UArmorMaterialVanityItem; class UArmorVanityItem; class UBeardColorVanityItem; class UBeardVanityItem; class UEyeBrowsVanityItem; class UHeadVanityItem; class UMoustacheVanityItem; class UObject; class UPlayerCharacterID; class USideburnsVanityItem; class USkinColorVanityItem; class UVanityItem; class UVanitySchematicBank; UCLASS(Blueprintable) class UCharacterVanityItems : public UDataAsset { GENERATED_BODY() public: protected: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray HeadItems; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UVanitySchematicBank* HeadSchematicBank; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray BeardItems; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UVanitySchematicBank* BeardSchematicBank; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray ArmorItems; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray ArmorMaterialItems; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray ArmorMaterialItemsInTreassures; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray EyebrowsItems; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UVanitySchematicBank* EyebrowSchematicBank; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray MoustacheItems; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UVanitySchematicBank* MoustacheSchematicBank; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray SideburnItems; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UVanitySchematicBank* SideburnSchematicBank; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray BeardMaterialItems; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UVanitySchematicBank* BeardMaterialSchematicBank; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray SkinMaterialItems; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UVanitySchematicBank* SkinMaterialSchematicBank; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TMap DefaultItems; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UPlayerCharacterID* OwningCharacter; public: UCharacterVanityItems(); UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject")) static void SortVanityItems(UObject* WorldContextObject, UPlayerCharacterID* characterID, UPARAM(Ref) TArray& VanityItems); UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject")) static TArray GetVanityItems(UObject* WorldContextObject, EVanitySlot Slot, bool onlyStoreItems, UPlayerCharacterID* characterID); UFUNCTION(BlueprintCallable, BlueprintPure) UVanityItem* GetVanityItem(const FGuid& VanityID) const; UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject")) static TArray GetUnLockedVanityItems(UObject* WorldContextObject, EVanitySlot Slot, bool onlyStoreItems, UPlayerCharacterID* characterID); UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject")) static TArray GetLockedVanityItems(UObject* WorldContextObject, EVanitySlot Slot, UPlayerCharacterID* characterID); UFUNCTION(BlueprintCallable, BlueprintPure) TArray GetItems(EVanitySlot Slot, bool onlyStoreItems) const; UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext")) static UVanityItem* GetDefaultVanityItem(UObject* WorldContext, EVanitySlot Slot, UPlayerCharacterID* characterID); };