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