Files
ArenaFPS/Source/LyraGame/UI/IndicatorSystem/LyraIndicatorManagerComponent.cpp
2025-11-17 21:49:11 +00:00

43 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "LyraIndicatorManagerComponent.h"
#include "IndicatorDescriptor.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(LyraIndicatorManagerComponent)
ULyraIndicatorManagerComponent::ULyraIndicatorManagerComponent(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
bAutoRegister = true;
bAutoActivate = true;
}
/*static*/ ULyraIndicatorManagerComponent* ULyraIndicatorManagerComponent::GetComponent(AController* Controller)
{
if (Controller)
{
return Controller->FindComponentByClass<ULyraIndicatorManagerComponent>();
}
return nullptr;
}
void ULyraIndicatorManagerComponent::AddIndicator(UIndicatorDescriptor* IndicatorDescriptor)
{
IndicatorDescriptor->SetIndicatorManagerComponent(this);
OnIndicatorAdded.Broadcast(IndicatorDescriptor);
Indicators.Add(IndicatorDescriptor);
}
void ULyraIndicatorManagerComponent::RemoveIndicator(UIndicatorDescriptor* IndicatorDescriptor)
{
if (IndicatorDescriptor)
{
ensure(IndicatorDescriptor->GetIndicatorManagerComponent() == this);
OnIndicatorRemoved.Broadcast(IndicatorDescriptor);
Indicators.Remove(IndicatorDescriptor);
}
}