浏览代码

StateMachine: Fix sync mode

(cherry picked from commit d35eae166c09ccb43e4f366525ad2ea78aaaf913)
Guilherme Felipe 6 年之前
父节点
当前提交
2f8362a2ab
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. 3 3
      scene/animation/animation_node_state_machine.cpp

+ 3 - 3
scene/animation/animation_node_state_machine.cpp

@@ -440,13 +440,13 @@ float AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *sm,
 
 		bool goto_next = false;
 
-		if (switch_mode == AnimationNodeStateMachineTransition::SWITCH_MODE_IMMEDIATE) {
-			goto_next = fading_from == StringName();
-		} else {
+		if (switch_mode == AnimationNodeStateMachineTransition::SWITCH_MODE_AT_END) {
 			goto_next = next_xfade >= (len_current - pos_current) || loops_current > 0;
 			if (loops_current > 0) {
 				next_xfade = 0;
 			}
+		} else {
+			goto_next = fading_from == StringName();
 		}
 
 		if (goto_next) { //loops should be used because fade time may be too small or zero and animation may have looped