fix: input mapping

This commit is contained in:
2025-10-12 15:51:44 +02:00
parent 5c474baefb
commit 768ecf5ee3
4 changed files with 26 additions and 17 deletions

View File

@@ -490,6 +490,7 @@ void USkillTreeComponent::UpdateSkillStates()
{
for (auto& Pair : AllSkills)
{
const FName& SkillID = Pair.Key;
FSkillNodeRuntime& SkillNode = Pair.Value;
// Only update Locked and Available states based on prerequisites
@@ -503,14 +504,18 @@ void USkillTreeComponent::UpdateSkillStates()
case ESkillNodeState::Locked:
case ESkillNodeState::Available:
// Update state based on prerequisites
if (ArePrerequisitesMet(SkillNode.NodeData))
{
SkillNode.CurrentState = ESkillNodeState::Available;
}
else
{
SkillNode.CurrentState = ESkillNodeState::Locked;
// Calculate new state based on prerequisites
ESkillNodeState NewState = ArePrerequisitesMet(SkillNode.NodeData)
? ESkillNodeState::Available
: ESkillNodeState::Locked;
// Only broadcast if state actually changed
if (SkillNode.CurrentState != NewState)
{
SkillNode.CurrentState = NewState;
OnSkillStateChanged.Broadcast(SkillID);
}
}
break;
}