Re-add AnimationNodeStateMachine::end_node for root state machine

Fix #63660
This commit is contained in:
Guilherme Felipe de C. G. da Silva
2022-08-09 16:55:07 -03:00
parent d8ec27cdc1
commit 15b5bc88e2
2 changed files with 19 additions and 16 deletions
@@ -594,11 +594,13 @@ double AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *p_s
if (p_state_machine->end_node != current) {
rem = 1;
} else {
Ref<AnimationNodeStateMachinePlayback> prev_playback = p_state_machine->prev_state_machine->get_parameter("playback");
if (p_state_machine->prev_state_machine != nullptr) {
Ref<AnimationNodeStateMachinePlayback> prev_playback = p_state_machine->prev_state_machine->get_parameter(p_state_machine->playback);
if (prev_playback.is_valid()) {
prev_playback->current_transition = current_transition;
prev_playback->force_auto_advance = true;
if (prev_playback.is_valid()) {
prev_playback->current_transition = current_transition;
prev_playback->force_auto_advance = true;
}
}
}
@@ -883,10 +885,6 @@ void AnimationNodeStateMachine::_rename_transitions(const StringName &p_name, co
void AnimationNodeStateMachine::get_node_list(List<StringName> *r_nodes) const {
List<StringName> nodes;
for (const KeyValue<StringName, State> &E : states) {
if (E.key == end_node && prev_state_machine == nullptr) {
continue;
}
nodes.push_back(E.key);
}
nodes.sort_custom<StringName::AlphCompare>();