瀏覽代碼

Show AnimationMixer warning for non-numeric types only when relevant

Wilson E. Alvarez 1 年之前
父節點
當前提交
4c8497092a
共有 1 個文件被更改,包括 17 次插入15 次删除
  1. 17 15
      scene/animation/animation_mixer.cpp

+ 17 - 15
scene/animation/animation_mixer.cpp

@@ -871,21 +871,23 @@ bool AnimationMixer::_update_caches() {
 				// TODO: Currently, misc type cannot be blended. In the future,
 				// it should have a separate blend weight, just as bool is converted to 0 and 1.
 				// Then, it should provide the correct precedence value.
-				switch (track_value->init_value.get_type()) {
-					case Variant::NIL:
-					case Variant::STRING_NAME:
-					case Variant::NODE_PATH:
-					case Variant::RID:
-					case Variant::OBJECT:
-					case Variant::CALLABLE:
-					case Variant::SIGNAL:
-					case Variant::DICTIONARY:
-					case Variant::ARRAY: {
-						WARN_PRINT_ONCE_ED("AnimationMixer: '" + String(E) + "', Value Track: '" + String(path) + "' uses a non-numeric type as key value with UpdateMode.UPDATE_CONTINUOUS. This will not be blended correctly, so it is forced to UpdateMode.UPDATE_DISCRETE.");
-						track_value->is_continuous = false;
-						break;
-					}
-					default: {
+				if (track_value->is_continuous) {
+					switch (track_value->init_value.get_type()) {
+						case Variant::NIL:
+						case Variant::STRING_NAME:
+						case Variant::NODE_PATH:
+						case Variant::RID:
+						case Variant::OBJECT:
+						case Variant::CALLABLE:
+						case Variant::SIGNAL:
+						case Variant::DICTIONARY:
+						case Variant::ARRAY: {
+							WARN_PRINT_ONCE_ED("AnimationMixer: '" + String(E) + "', Value Track: '" + String(path) + "' uses a non-numeric type as key value with UpdateMode.UPDATE_CONTINUOUS. This will not be blended correctly, so it is forced to UpdateMode.UPDATE_DISCRETE.");
+							track_value->is_continuous = false;
+							break;
+						}
+						default: {
+						}
 					}
 				}