Pārlūkot izejas kodu

Raise error if Resource is of wrong type as function argument

Florian Kothmeier 5 gadi atpakaļ
vecāks
revīzija
a2c419bdc9
1 mainītis faili ar 12 papildinājumiem un 0 dzēšanām
  1. 12 0
      core/variant/binder_common.h

+ 12 - 0
core/variant/binder_common.h

@@ -122,6 +122,18 @@ struct VariantObjectClassChecker {
 	}
 };
 
+template <typename T>
+class Ref;
+
+template <typename T>
+struct VariantObjectClassChecker<const Ref<T> &> {
+	static _FORCE_INLINE_ bool check(const Variant &p_variant) {
+		Object *obj = p_variant;
+		const Ref<T> node = p_variant;
+		return node.ptr() || !obj;
+	}
+};
+
 template <>
 struct VariantObjectClassChecker<Node *> {
 	static _FORCE_INLINE_ bool check(const Variant &p_variant) {