40 lines
1.1 KiB
C++
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);
|
|
}
|
|
} |