Explorar el Código

Merge pull request #30354 from LikeLakers2/multinodeedit-same-type-properties

MultiNodeEdit now only shows properties with the exact same PropertyInfo data
Rémi Verschelde hace 6 años
padre
commit
c317a3ce16
Se han modificado 2 ficheros con 12 adiciones y 1 borrados
  1. 9 0
      core/object.h
  2. 3 1
      editor/multi_node_edit.cpp

+ 9 - 0
core/object.h

@@ -179,6 +179,15 @@ struct PropertyInfo {
 			usage(PROPERTY_USAGE_DEFAULT) {
 	}
 
+	bool operator==(const PropertyInfo &p_info) const {
+		return ((type == p_info.type) &&
+				(name == p_info.name) &&
+				(class_name == p_info.class_name) &&
+				(hint == p_info.hint) &&
+				(hint_string == p_info.hint_string) &&
+				(usage == p_info.usage));
+	}
+
 	bool operator<(const PropertyInfo &p_info) const {
 		return name < p_info.name;
 	}

+ 3 - 1
editor/multi_node_edit.cpp

@@ -152,7 +152,9 @@ void MultiNodeEdit::_get_property_list(List<PropertyInfo> *p_list) const {
 				datas.push_back(usage.getptr(F->get().name));
 			}
 
-			usage[F->get().name].uses++;
+			// Make sure only properties with the same exact PropertyInfo data will appear
+			if (usage[F->get().name].info == F->get())
+				usage[F->get().name].uses++;
 		}
 
 		nc++;