LEAP Documentation 40220
Documentation for the LEAP project
AfflictionInstanceFloat.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"
7#include "AfflictionInstanceFloat.generated.h"
8
9UENUM(BlueprintType)
10enum class EStackingMethod : uint8
11{
12 Additive = 0,
14};
15
16UCLASS()
17class PROJECTX_API UAfflictionInstanceFloat : public UAfflictionInstance
18{
19 GENERATED_BODY()
20
21public:
22 virtual float GetFloatModifier();
23 virtual void SetFloatModifier(float NewValue) { Value = NewValue; }
24 UFUNCTION(BlueprintPure)
25 virtual void GetTotalFloatModifier(float& TotalModifer, const TSubclassOf<UAfflictionInstance> AfflictionClass);
26
27protected:
28 UFUNCTION(BlueprintCallable)
29 virtual float K2_GetTotalFloatModifier(float Modifier, const TSubclassOf<UAfflictionInstance> AfflictionClass) { GetTotalFloatModifier(Modifier,AfflictionClass) ;return Modifier; }
30 virtual float ApplyOverrideMethod(float ModifierIn);
31 virtual float ApplyStackingMethod(float ModifierIn);
32
33 /* In the event this affliction receives a Initialization HitInfo's with a physical material in this list, the associative multiplier will be applied to the float Value. */
34 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Affliction")
35 TMap<class UPhysicalMaterial*, float> ValueMultipliers;
36 UPROPERTY(EditDefaultsOnly, Category = "Affliction")
37 float Value = 0.0f;
38 UPROPERTY(EditDefaultsOnly, Category = "Affliction")
39 EStackingMethod StackingMethod = EStackingMethod::Multiplicative;
40};
EStackingMethod
Definition: AfflictionInstanceFloat.h:11
Definition: AfflictionInstanceFloat.h:18
virtual void SetFloatModifier(float NewValue)
Definition: AfflictionInstanceFloat.h:23