Space Plunder
Loading...
Searching...
No Matches
UKillFeedMessageWidget Class Reference

#include <KillFeedMessageWidget.h>

Inheritance diagram for UKillFeedMessageWidget:

Public Member Functions

virtual bool Initialize () override
 
virtual void NativeConstruct () override
 
void SetDeathIcon (UTexture2D *Icon)
 
void SetNames (FString AttackerName, FString VictimName)
 
void SetTeamColors (int32 AttackerTeamID, int32 VictimTeamID)
 

Public Attributes

float FadeOutTime = 3.0f
 
int32 MaxNameLength = 18
 

Protected Member Functions

void FadeOut ()
 
void OnFadeOut ()
 

Protected Attributes

class UMaterialInterface * DeathIconMaterial
 
class UMaterialInterface * TeamMaterial
 
FName TeamParamName = "Color"
 
class UTextBlock * AttackerNameText
 
class UTextBlock * VictimNameText
 
class UImage * AttackerGlowImage
 
class UImage * VictimGlowImage
 
class UImage * DeathIcon
 

Private Attributes

FTimerHandle FadeOutTimerHandle
 

Member Function Documentation

◆ FadeOut()

void UKillFeedMessageWidget::FadeOut ( )
protected
75{
76 GetWorld()->GetTimerManager().ClearTimer(FadeOutTimerHandle);
77 OnFadeOut();
78}
FTimerHandle FadeOutTimerHandle
Definition KillFeedMessageWidget.h:61

◆ Initialize()

bool UKillFeedMessageWidget::Initialize ( )
overridevirtual
11{
12 const bool Success = Super::Initialize();
13 if(!Success) return false;
14 if (!ensure(AttackerNameText != nullptr)) return false;
15 if (!ensure(VictimNameText != nullptr)) return false;
16 if (!ensure(AttackerGlowImage != nullptr)) return false;
17 if (!ensure(VictimGlowImage != nullptr)) return false;
18 if (!ensure(DeathIcon != nullptr)) return false;
19 if (!ensure(DeathIconMaterial != nullptr)) return false;
20 return true;
21}
class UMaterialInterface * DeathIconMaterial
Definition KillFeedMessageWidget.h:36
class UImage * AttackerGlowImage
Definition KillFeedMessageWidget.h:47
class UTextBlock * AttackerNameText
Definition KillFeedMessageWidget.h:43
class UImage * DeathIcon
Definition KillFeedMessageWidget.h:52
class UTextBlock * VictimNameText
Definition KillFeedMessageWidget.h:45
class UImage * VictimGlowImage
Definition KillFeedMessageWidget.h:49

◆ NativeConstruct()

void UKillFeedMessageWidget::NativeConstruct ( )
overridevirtual
24{
25 Super::NativeConstruct();
26 GetWorld()->GetTimerManager().SetTimer(FadeOutTimerHandle, this, &UKillFeedMessageWidget::FadeOut, FadeOutTime);
27}
float FadeOutTime
Definition KillFeedMessageWidget.h:21
void FadeOut()
Definition KillFeedMessageWidget.cpp:74

◆ OnFadeOut()

void UKillFeedMessageWidget::OnFadeOut ( )
protected

◆ SetDeathIcon()

void UKillFeedMessageWidget::SetDeathIcon ( UTexture2D * Icon)
30{
31 if(Icon != nullptr && DeathIconMaterial != nullptr)
32 {
33 //create dynamic material anywhere u like, Constructor or anywhere .
34 UMaterialInstanceDynamic* DeathIconMaterialInstance = UMaterialInstanceDynamic::Create(DeathIconMaterial, this);
35 //set paramater with Set***ParamaterValue
36 DeathIconMaterialInstance->SetTextureParameterValue("IconTexture", Icon);
37 DeathIcon->SetBrushFromMaterial(DeathIconMaterialInstance);
38 UE_LOG(LogMenuSystem, Warning, TEXT("Add Icon"));
39 }
40 else
41 {
42 UE_LOG(LogMenuSystem, Warning, TEXT("Icon not valid"));
43 }
44}

◆ SetNames()

void UKillFeedMessageWidget::SetNames ( FString AttackerName,
FString VictimName )
47{
48 AttackerNameText->SetVisibility(ESlateVisibility::Visible);
49 if(AttackerName == VictimName)
50 {
51 AttackerNameText->SetVisibility(ESlateVisibility::Collapsed);
52 }
53 AttackerNameText->SetText(FText::FromString(AttackerName.LeftChop(AttackerName.Len() - MaxNameLength)));
54 VictimNameText->SetText(FText::FromString(VictimName.LeftChop(VictimName.Len() - MaxNameLength)));
55}
int32 MaxNameLength
Definition KillFeedMessageWidget.h:33

◆ SetTeamColors()

void UKillFeedMessageWidget::SetTeamColors ( int32 AttackerTeamID,
int32 VictimTeamID )
58{
59 if(TeamMaterial != nullptr)
60 {
61 //create dynamic material anywhere u like, Constructor or anywhere .
62 UMaterialInstanceDynamic* AttackerTeamMaterialInstance = UMaterialInstanceDynamic::Create(TeamMaterial, this);
63 UMaterialInstanceDynamic* VictimTeamMaterialInstance = UMaterialInstanceDynamic::Create(TeamMaterial, this);
64
65 //set paramater with Set***ParamaterValue
66 AttackerTeamMaterialInstance->SetScalarParameterValue(TeamParamName, AttackerTeamID);
67 VictimTeamMaterialInstance->SetScalarParameterValue(TeamParamName, VictimTeamID);
68
69 AttackerGlowImage->SetBrushFromMaterial(AttackerTeamMaterialInstance);
70 VictimGlowImage->SetBrushFromMaterial(VictimTeamMaterialInstance);
71 }
72}
class UMaterialInterface * TeamMaterial
Definition KillFeedMessageWidget.h:38
FName TeamParamName
Definition KillFeedMessageWidget.h:40

Member Data Documentation

◆ AttackerGlowImage

class UImage* UKillFeedMessageWidget::AttackerGlowImage
protected

◆ AttackerNameText

class UTextBlock* UKillFeedMessageWidget::AttackerNameText
protected

◆ DeathIcon

class UImage* UKillFeedMessageWidget::DeathIcon
protected

◆ DeathIconMaterial

class UMaterialInterface* UKillFeedMessageWidget::DeathIconMaterial
protected

◆ FadeOutTime

float UKillFeedMessageWidget::FadeOutTime = 3.0f

◆ FadeOutTimerHandle

FTimerHandle UKillFeedMessageWidget::FadeOutTimerHandle
private

◆ MaxNameLength

int32 UKillFeedMessageWidget::MaxNameLength = 18

◆ TeamMaterial

class UMaterialInterface* UKillFeedMessageWidget::TeamMaterial
protected

◆ TeamParamName

FName UKillFeedMessageWidget::TeamParamName = "Color"
protected

◆ VictimGlowImage

class UImage* UKillFeedMessageWidget::VictimGlowImage
protected

◆ VictimNameText

class UTextBlock* UKillFeedMessageWidget::VictimNameText
protected

The documentation for this class was generated from the following files: