ArticyXImporter
ArticyXImporter for Unreal Engine
Loading...
Searching...
No Matches
ArticyAsset.h
1//
2// Copyright (c) 2023 articy Software GmbH & Co. KG. All rights reserved.
3//
4
5#pragma once
6
7#include "CoreMinimal.h"
8#include "ArticyObject.h"
9#include "FileMediaSource.h"
10#include "Sound/SoundWave.h"
11#include "Engine/Texture2D.h"
12#include "ArticyAsset.generated.h"
13
17UENUM(BlueprintType)
18enum class EArticyAssetCategory : uint8
19{
20 None = 0,
21
23 Image = 1,
25 Video = 2,
27 Audio = 4,
29 Document = 8,
31 Misc = 16,
32
34 All = 0xFF,
35};
36
40UCLASS(BlueprintType)
41class ARTICYRUNTIME_API UArticyAsset : public UArticyObject
42{
43 GENERATED_BODY()
44
45public:
46
52 UFUNCTION(BlueprintCallable, Category = "Load Asset")
53 UObject* LoadAsset() const;
54
60 UFUNCTION(BlueprintCallable, Category = "Load Asset")
61 UTexture* LoadAsTexture() const;
62
68 UFUNCTION(BlueprintCallable, Category = "Load Asset")
69 UTexture2D* LoadAsTexture2D() const;
70
76 UFUNCTION(BlueprintCallable, Category = "Load Asset")
77 USoundWave* LoadAsSoundWave() const;
78
84 UFUNCTION(BlueprintCallable, Category = "Load Asset")
85 UFileMediaSource* LoadAsFileMediaSource() const;
86
88 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Meta Data")
89 FString AssetRef;
91 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Meta Data")
92 EArticyAssetCategory Category;
93
94private:
96 UPROPERTY(Transient, VisibleAnywhere, Category = "Articy")
97 mutable TWeakObjectPtr<UObject> Asset = nullptr;
98};
Definition ArticyAsset.h:42
UTexture2D * LoadAsTexture2D() const
Definition ArticyAsset.cpp:62
USoundWave * LoadAsSoundWave() const
Definition ArticyAsset.cpp:72
UTexture * LoadAsTexture() const
Definition ArticyAsset.cpp:52
FString AssetRef
Definition ArticyAsset.h:89
EArticyAssetCategory Category
Definition ArticyAsset.h:92
UFileMediaSource * LoadAsFileMediaSource() const
Definition ArticyAsset.cpp:82
UObject * LoadAsset() const
Definition ArticyAsset.cpp:14
Definition ArticyObject.h:19