UnrealVoxta 0.1.1
 
Loading...
Searching...
No Matches
AiCharData.h
Go to the documentation of this file.
1// Copyright(c) 2024 grrimgrriefer & DZnnah, see LICENSE for details.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "BaseCharData.h"
7#include "VoxtaDefines.h"
8#include "AiCharData.generated.h"
9
19USTRUCT(BlueprintType)
20struct VOXTADATA_API FAiCharData : public FBaseCharData
21{
22 GENERATED_BODY()
23
24#pragma region public API
25public:
29 virtual FStringView GetThumbnailUrl() const override { return m_thumbnailUrl; }
30
43 explicit FAiCharData(const FGuid& id,
44 FStringView name,
45 FStringView creatorNotes,
46 bool isExplicitContent,
47 bool isFavorite,
48 FStringView thumbnailUrl,
49 const FGuid& packageId,
50 FStringView packageName) :
51 FBaseCharData(id, name),
52 m_creatorNotes(creatorNotes),
53 m_allowedExplicitContent(isExplicitContent),
54 m_isFavorite(isFavorite),
55 m_thumbnailUrl(thumbnailUrl),
56 m_packageId(packageId),
57 m_packageName(packageName)
58 {}
59
61 FAiCharData() = default;
62
63 virtual ~FAiCharData() override = default;
64
69 bool GetAllowedExplicitContent() const { return m_allowedExplicitContent; }
70
75 bool GetIsFavorite() const { return m_isFavorite; }
76
81 FStringView GetCreatorNotes() const { return m_creatorNotes; }
82
87 const FGuid& GetPackageId() const { return m_packageId; }
88
93 FStringView GetPackageName() const { return m_packageName; }
94#pragma endregion
95
96#pragma region data
97private:
99 UPROPERTY(BlueprintReadOnly, Category = "Voxta", meta = (AllowPrivateAccess = "true", DisplayName = "Creator notes"))
100 FString m_creatorNotes = EMPTY_STRING;
101
103 UPROPERTY(BlueprintReadOnly, Category = "Voxta", meta = (AllowPrivateAccess = "true", DisplayName = "Allowed explicit content"))
104 bool m_allowedExplicitContent = false;
105
107 UPROPERTY(BlueprintReadOnly, Category = "Voxta", meta = (AllowPrivateAccess = "true", DisplayName = "Is Favorited"))
108 bool m_isFavorite = false;
109
111 FString m_thumbnailUrl = EMPTY_STRING;
113 FGuid m_packageId = FGuid();
115 FString m_packageName = EMPTY_STRING;
116#pragma endregion
117};
const FGuid & GetPackageId() const
Get the ID of the package this character belongs to.
Definition AiCharData.h:87
bool GetAllowedExplicitContent() const
Get whether this character allows explicit content.
Definition AiCharData.h:69
FAiCharData(const FGuid &id, FStringView name, FStringView creatorNotes, bool isExplicitContent, bool isFavorite, FStringView thumbnailUrl, const FGuid &packageId, FStringView packageName)
Create an instance of the datacontainer for a specific AI character.
Definition AiCharData.h:43
bool GetIsFavorite() const
Get whether this character is marked as a favorite by the user.
Definition AiCharData.h:75
FStringView GetCreatorNotes() const
Get the creator's notes about this character.
Definition AiCharData.h:81
virtual FStringView GetThumbnailUrl() const override
Definition AiCharData.h:29
virtual ~FAiCharData() override=default
FStringView GetPackageName() const
Get the name of the package this character belongs to.
Definition AiCharData.h:93
FAiCharData()=default
Default constructor.
virtual FStringView GetThumbnailUrl() const PURE_VIRTUAL(FBaseCharData FBaseCharData(FGuid id, FStringView name)
Derived classes should override this to provide character-specific thumbnails.
Definition BaseCharData.h:41