RealtimeStyleTransferRuntime/Source/LyraGame/UI/IndicatorSystem/LyraIndicatorManagerCompone...

40 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "LyraIndicatorManagerComponent.h"
#include "IndicatorDescriptor.h"
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);
}
}