Files
utad-ui/Source/UTAD_UI/SkillTree/SkillTreeSubsystem.cpp
2025-10-12 14:44:12 +02:00

50 lines
1.3 KiB
C++

#include "SkillTreeSubsystem.h"
#include "SkillTreeComponent.h"
#include "Engine/World.h"
#include "Kismet/GameplayStatics.h"
void USkillTreeSubsystem::Initialize(FSubsystemCollectionBase& Collection)
{
Super::Initialize(Collection);
UE_LOG(LogTemp, Log, TEXT("SkillTreeManager: Initialized"));
}
void USkillTreeSubsystem::Deinitialize()
{
Super::Deinitialize();
PlayerSkillTreeComponent = nullptr;
}
USkillTreeSubsystem* USkillTreeSubsystem::GetSkillTreeManager(const UObject* WorldContextObject)
{
if (!WorldContextObject)
{
return nullptr;
}
UGameInstance* GameInstance = UGameplayStatics::GetGameInstance(WorldContextObject);
if (!GameInstance)
{
return nullptr;
}
return GameInstance->GetSubsystem<USkillTreeSubsystem>();
}
void USkillTreeSubsystem::RegisterPlayerSkillTree(USkillTreeComponent* SkillTreeComponent)
{
if (SkillTreeComponent)
{
PlayerSkillTreeComponent = SkillTreeComponent;
UE_LOG(LogTemp, Log, TEXT("SkillTreeManager: Registered player skill tree component"));
}
}
void USkillTreeSubsystem::UnregisterPlayerSkillTree()
{
PlayerSkillTreeComponent = nullptr;
UE_LOG(LogTemp, Log, TEXT("SkillTreeManager: Unregistered player skill tree component"));
}