Space Plunder
Loading...
Searching...
No Matches
SHitMarkerConfirmationWidget.h
Go to the documentation of this file.
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "Engine/LocalPlayer.h"
6#include "GameplayTagContainer.h"
7#include "Styling/CoreStyle.h"
8#include "Styling/SlateBrush.h"
9#include "Widgets/DeclarativeSyntaxSupport.h"
10#include "Widgets/Accessibility/SlateWidgetAccessibleTypes.h"
11#include "Widgets/SLeafWidget.h"
12
13class FPaintArgs;
14class FSlateRect;
15class FSlateWindowElementList;
16class FWidgetStyle;
17struct FGameplayTag;
18struct FGeometry;
19struct FSlateBrush;
20
21class WEAPONSYSTEM_API SHitMarkerConfirmationWidget : public SLeafWidget
22{
24 : _PerHitMarkerImage(FCoreStyle::Get().GetBrush("Throbber.CircleChunk"))
25 , _AnyHitsMarkerImage(nullptr)
26 , _HitNotifyDuration(0.4f)
27 {
28 }
30 SLATE_ARGUMENT(const FSlateBrush*, PerHitMarkerImage)
32 SLATE_ARGUMENT(const FSlateBrush*, AnyHitsMarkerImage)
34 SLATE_ATTRIBUTE(float, HitNotifyDuration)
36 SLATE_ATTRIBUTE(FSlateColor, ColorAndOpacity)
37 SLATE_END_ARGS()
38
39public:
40 void Construct(const FArguments& InArgs, const FLocalPlayerContext& InContext, const TMap<FGameplayTag, FSlateBrush>& ZoneOverrideImages);
41
43
44 //~SWidget interface
45 virtual int32 OnPaint(const FPaintArgs& Args, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled) const override;
46 virtual void Tick(const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime) override;
47 virtual FVector2D ComputeDesiredSize(float) const override;
48 virtual bool ComputeVolatility() const override { return true; }
49 //~End of SWidget interface
50
51
52 void HitMarker(const AActor* Actor, float Damage, FName HitBone, FVector HitLocation);
53
54private:
56 const FSlateBrush* PerHitMarkerImage = nullptr;
57
59 TMap<FGameplayTag, FSlateBrush> PerHitMarkerZoneOverrideImages;
60
62 const FSlateBrush* AnyHitsMarkerImage = nullptr;
63
65 float HitNotifyOpacity = 1.0f;
66 // float HitNotifyOpacity = 0.0f;
67
68 float LastHitTime = 0.0f;
69
71 float HitNotifyDuration = 0.4f;
72
74 TAttribute<FSlateColor> ColorAndOpacity;
76
78 FLocalPlayerContext MyContext;
79};
Definition SHitMarkerConfirmationWidget.h:22
SLATE_BEGIN_ARGS(SHitMarkerConfirmationWidget)
Definition SHitMarkerConfirmationWidget.h:23
FLocalPlayerContext MyContext
Definition SHitMarkerConfirmationWidget.h:78
bool bColorAndOpacitySet
Definition SHitMarkerConfirmationWidget.h:75
TMap< FGameplayTag, FSlateBrush > PerHitMarkerZoneOverrideImages
Definition SHitMarkerConfirmationWidget.h:59
TAttribute< FSlateColor > ColorAndOpacity
Definition SHitMarkerConfirmationWidget.h:74