LEAP Documentation 40220
Documentation for the LEAP project
ExperienceConfiguration.h
Go to the documentation of this file.
1// Copyright Blue Isle Studios Inc 2018. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "PlayerStats.h"
7#include "Templates/SubclassOf.h"
8#include "UObject/NoExportTypes.h"
9#include "ExperienceConfiguration.generated.h"
10
12
13UCLASS(Blueprintable)
14class PROJECTX_API UExperienceConfiguration : public UObject
15{
16 GENERATED_UCLASS_BODY()
17
18public:
19 UFUNCTION(BlueprintPure)
20 TSubclassOf<UExperienceEvent> GetExperienceEventClass(const EXPEventType Type) const;
21 UFUNCTION(BlueprintPure, Category = ExperienceConfiguration, meta = (WorldContext = "WorldContextObject"))
22 static int32 GetExperienceForEvent(const UObject* WorldContextObject,const EXPEventType Type);
23 UFUNCTION(BlueprintPure, Category = ExperienceConfiguration, meta = (WorldContext = "WorldContextObject"))
24 static EXPEventType GetExperienceEventType(const UObject* WorldContextObject, const TSubclassOf<UExperienceEvent> Event);
25 UFUNCTION(BlueprintPure, Category = ExperienceConfiguration, meta = (WorldContext = "WorldContextObject"))
26 static UExperienceConfiguration* Get(const UObject* WorldContextObject);
27
28protected:
29 /* The list of different Experience Events that can trigger in the game*/
30 UPROPERTY(EditDefaultsOnly, Category = ExperienceConfiguration)
31 TMap<EXPEventType, TSubclassOf<UExperienceEvent>> NotificationMap;
32
33 TMap<TSubclassOf<UExperienceEvent>, EXPEventType> ReverseMap;
34
35};
EXPEventType
Definition: PlayerStats.h:13
Definition: ExperienceConfiguration.h:15
Definition: ExperienceEvent.h:18