浏览代码

Merge pull request #58346 from aaronfranke/hint-no-range

Allow using other property hints without the range hint
Rémi Verschelde 3 年之前
父节点
当前提交
fce210c6e8
共有 1 个文件被更改,包括 13 次插入10 次删除
  1. 13 10
      editor/editor_properties.cpp

+ 13 - 10
editor/editor_properties.cpp

@@ -3361,10 +3361,8 @@ struct EditorPropertyRangeHint {
 static EditorPropertyRangeHint _parse_range_hint(PropertyHint p_hint, const String &p_hint_text, double p_default_step) {
 	EditorPropertyRangeHint hint;
 	hint.step = p_default_step;
-	bool degrees = false;
-
+	Vector<String> slices = p_hint_text.split(",");
 	if (p_hint == PROPERTY_HINT_RANGE) {
-		Vector<String> slices = p_hint_text.split(",");
 		ERR_FAIL_COND_V_MSG(slices.size() < 2, hint,
 				vformat("Invalid PROPERTY_HINT_RANGE with hint \"%s\": Missing required min and/or max values.", p_hint_text));
 
@@ -3381,11 +3379,7 @@ static EditorPropertyRangeHint _parse_range_hint(PropertyHint p_hint, const Stri
 		hint.hide_slider = false;
 		for (int i = 2; i < slices.size(); i++) {
 			String slice = slices[i].strip_edges();
-			if (slice == "radians") {
-				hint.radians = true;
-			} else if (slice == "degrees") {
-				degrees = true;
-			} else if (slice == "or_greater") {
+			if (slice == "or_greater") {
 				hint.greater = true;
 			} else if (slice == "or_lesser") {
 				hint.lesser = true;
@@ -3393,11 +3387,20 @@ static EditorPropertyRangeHint _parse_range_hint(PropertyHint p_hint, const Stri
 				hint.hide_slider = true;
 			} else if (slice == "exp") {
 				hint.exp_range = true;
-			} else if (slice.begins_with("suffix:")) {
-				hint.suffix = " " + slice.replace_first("suffix:", "").strip_edges();
 			}
 		}
 	}
+	bool degrees = false;
+	for (int i = 0; i < slices.size(); i++) {
+		String slice = slices[i].strip_edges();
+		if (slice == "radians") {
+			hint.radians = true;
+		} else if (slice == "degrees") {
+			degrees = true;
+		} else if (slice.begins_with("suffix:")) {
+			hint.suffix = " " + slice.replace_first("suffix:", "").strip_edges();
+		}
+	}
 
 	if ((hint.radians || degrees) && hint.suffix.is_empty()) {
 		hint.suffix = U"\u00B0";