ArticyXImporter
ArticyXImporter for Unreal Engine
Loading...
Searching...
No Matches
ArticyObjectWithSpeaker.h
1//
2// Copyright (c) 2023 articy Software GmbH & Co. KG. All rights reserved.
3//
4
5#pragma once
6
7#include "ArticyObjectWith_Base.h"
8#include "ArticyBaseTypes.h"
9#include "ArticyObject.h"
10#include "ArticyObjectWithSpeaker.generated.h"
11
12struct FArticyId;
13
14UINTERFACE(MinimalAPI, BlueprintType, meta=(CannotImplementInterfaceInBlueprint))
15class UArticyObjectWithSpeaker : public UArticyObjectWith_Base { GENERATED_BODY() };
16
21{
22 GENERATED_BODY()
23
24public:
25
26 UFUNCTION(BlueprintCallable, Category="ObjectWithSpeaker")
27 virtual UArticyObject* GetSpeaker() const
28 {
29 return GetSpeakerId().GetObject<UArticyObject>(_getUObject());
30 }
31
32 UFUNCTION(BlueprintCallable, Category="ObjectWithSpeaker")
33 virtual FArticyId& GetSpeakerId()
34 {
35 static const auto& PropName = FName("Speaker");
36 return GetProperty<FArticyId>(PropName);
37 }
38
39 virtual const FArticyId& GetSpeakerId() const
40 {
41 return const_cast<IArticyObjectWithSpeaker*>(this)->GetSpeakerId();
42 }
43
44 //---------------------------------------------------------------------------//
45
46 UFUNCTION(BlueprintCallable, Category="ObjectWithSpeaker")
47 virtual UArticyObject* SetSpeaker(UArticyObject* const Speaker)
48 {
49 SetSpeakerId(Speaker ? Speaker->GetId() : (FArticyId) 0);
50 return Speaker;
51 }
52
53 UFUNCTION(BlueprintCallable, Category="ObjectWithSpeaker")
54 virtual FArticyId& SetSpeakerId(UPARAM(ref) const FArticyId& Id)
55 {
56 return GetSpeakerId() = Id;
57 }
58};
Definition ArticyObjectWithSpeaker.h:21
Definition ArticyObjectWith_Base.h:27
Definition ArticyObjectWithSpeaker.h:15
Definition ArticyObjectWith_Base.h:12
Definition ArticyObject.h:19
Definition ArticyBaseTypes.h:18