fix: clear selection on close
This commit is contained in:
@@ -103,6 +103,7 @@ bool USkillTreeComponent::SelectSkill(FName SkillID)
|
|||||||
case ESkillNodeState::Locked:
|
case ESkillNodeState::Locked:
|
||||||
// For locked skills, we allow selection but validate prerequisites
|
// For locked skills, we allow selection but validate prerequisites
|
||||||
// This allows players to "plan" their build
|
// This allows players to "plan" their build
|
||||||
|
{
|
||||||
bool bWouldBeAvailable = true;
|
bool bWouldBeAvailable = true;
|
||||||
for (const FName& PrereqID : SkillNode->NodeData.Prerequisites)
|
for (const FName& PrereqID : SkillNode->NodeData.Prerequisites)
|
||||||
{
|
{
|
||||||
@@ -119,6 +120,7 @@ bool USkillTreeComponent::SelectSkill(FName SkillID)
|
|||||||
OnSelectionError.Broadcast(SkillID, ErrorMessage);
|
OnSelectionError.Broadcast(SkillID, ErrorMessage);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ESkillNodeState::Available:
|
case ESkillNodeState::Available:
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
#include "EnhancedInputSubsystems.h"
|
#include "EnhancedInputSubsystems.h"
|
||||||
#include "Engine/LocalPlayer.h"
|
#include "Engine/LocalPlayer.h"
|
||||||
#include "Blueprint/UserWidget.h"
|
#include "Blueprint/UserWidget.h"
|
||||||
|
#include "SkillTree/SkillTreeComponent.h"
|
||||||
|
|
||||||
DEFINE_LOG_CATEGORY(LogTemplateCharacter);
|
DEFINE_LOG_CATEGORY(LogTemplateCharacter);
|
||||||
|
|
||||||
@@ -225,6 +226,15 @@ void AUTAD_UIPlayerController::HideSkillTree()
|
|||||||
{
|
{
|
||||||
if (SkillTreeWidget && SkillTreeWidget->IsInViewport())
|
if (SkillTreeWidget && SkillTreeWidget->IsInViewport())
|
||||||
{
|
{
|
||||||
|
// Clear any unconfirmed skill selections
|
||||||
|
if (AUTAD_UICharacter* Character = Cast<AUTAD_UICharacter>(GetPawn()))
|
||||||
|
{
|
||||||
|
if (USkillTreeComponent* SkillTreeComp = Character->GetSkillTreeComponent())
|
||||||
|
{
|
||||||
|
SkillTreeComp->ClearSelection();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
SkillTreeWidget->RemoveFromParent();
|
SkillTreeWidget->RemoveFromParent();
|
||||||
|
|
||||||
// Restore game and UI input mode for top-down gameplay
|
// Restore game and UI input mode for top-down gameplay
|
||||||
|
|||||||
Reference in New Issue
Block a user