summaryrefslogtreecommitdiffstats
path: root/test/src
diff options
context:
space:
mode:
authorDavid Snopek <dsnopek@gmail.com>2024-10-29 13:10:12 -0500
committerGitHub <noreply@github.com>2024-10-29 13:10:12 -0500
commitfa3dfa0e3ca2a797c793c2744e10e3e11111d05f (patch)
tree979737f74727445436ae851a3026e329c8fd7ba2 /test/src
parent7fca5458854c30fed862609cf516910e432508c1 (diff)
parent0602c3298651b7a914f23ae357d3e427cc65a82c (diff)
downloadredot-cpp-fa3dfa0e3ca2a797c793c2744e10e3e11111d05f.tar.gz
Merge pull request #1591 from dsnopek/variant-object-instance-id
Directly get object instance ID from `Variant` and implement `Variant::get_validated_object()`
Diffstat (limited to 'test/src')
-rw-r--r--test/src/example.cpp5
-rw-r--r--test/src/example.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/test/src/example.cpp b/test/src/example.cpp
index f51db57..22739b2 100644
--- a/test/src/example.cpp
+++ b/test/src/example.cpp
@@ -217,6 +217,7 @@ void Example::_bind_methods() {
ClassDB::bind_method(D_METHOD("test_variant_vector2i_conversion", "variant"), &Example::test_variant_vector2i_conversion);
ClassDB::bind_method(D_METHOD("test_variant_int_conversion", "variant"), &Example::test_variant_int_conversion);
ClassDB::bind_method(D_METHOD("test_variant_float_conversion", "variant"), &Example::test_variant_float_conversion);
+ ClassDB::bind_method(D_METHOD("test_object_is_valid", "variant"), &Example::test_object_is_valid);
ClassDB::bind_method(D_METHOD("test_add_child", "node"), &Example::test_add_child);
ClassDB::bind_method(D_METHOD("test_set_tileset", "tilemap", "tileset"), &Example::test_set_tileset);
@@ -598,6 +599,10 @@ float Example::test_variant_float_conversion(const Variant &p_variant) const {
return p_variant;
}
+bool Example::test_object_is_valid(const Variant &p_variant) const {
+ return static_cast<bool>(p_variant.get_validated_object());
+}
+
void Example::test_add_child(Node *p_node) {
add_child(p_node);
}
diff --git a/test/src/example.h b/test/src/example.h
index 3ce390a..a7ae54c 100644
--- a/test/src/example.h
+++ b/test/src/example.h
@@ -147,6 +147,7 @@ public:
Vector2i test_variant_vector2i_conversion(const Variant &p_variant) const;
int test_variant_int_conversion(const Variant &p_variant) const;
float test_variant_float_conversion(const Variant &p_variant) const;
+ bool test_object_is_valid(const Variant &p_variant) const;
void test_add_child(Node *p_node);
void test_set_tileset(TileMap *p_tilemap, const Ref<TileSet> &p_tileset) const;