Browse Source

expose Variant operator= to GDNative

BimDav 3 years ago
parent
commit
084b21c4a8

+ 6 - 0
modules/gdnative/gdnative/variant.cpp

@@ -62,6 +62,12 @@ godot_variant_type GDAPI godot_variant_get_type(const godot_variant *p_self) {
 	return (godot_variant_type)self->get_type();
 	return (godot_variant_type)self->get_type();
 }
 }
 
 
+void GDAPI godot_variant_operator_assign(godot_variant *r_dest, const godot_variant *p_v) {
+	Variant *dest = (Variant *)r_dest;
+	Variant *v = (Variant *)p_v;
+	*dest = *v;
+}
+
 void GDAPI godot_variant_new_copy(godot_variant *p_dest, const godot_variant *p_src) {
 void GDAPI godot_variant_new_copy(godot_variant *p_dest, const godot_variant *p_src) {
 	Variant *dest = (Variant *)p_dest;
 	Variant *dest = (Variant *)p_dest;
 	Variant *src = (Variant *)p_src;
 	Variant *src = (Variant *)p_src;

+ 8 - 0
modules/gdnative/gdnative_api.json

@@ -4393,6 +4393,14 @@
           ["const godot_variant *", "p_v"]
           ["const godot_variant *", "p_v"]
         ]
         ]
       },
       },
+      {
+        "name": "godot_variant_operator_assign",
+        "return_type": "void",
+        "arguments": [
+          ["godot_variant *", "r_dest"],
+          ["const godot_variant *", "p_v"]
+        ]
+      },
       {
       {
         "name": "godot_variant_new_copy",
         "name": "godot_variant_new_copy",
         "return_type": "void",
         "return_type": "void",

+ 2 - 0
modules/gdnative/include/gdnative/variant.h

@@ -170,6 +170,8 @@ extern "C" {
 
 
 godot_variant_type GDAPI godot_variant_get_type(const godot_variant *p_v);
 godot_variant_type GDAPI godot_variant_get_type(const godot_variant *p_v);
 
 
+void GDAPI godot_variant_operator_assign(godot_variant *r_dest, const godot_variant *p_v);
+
 void GDAPI godot_variant_new_copy(godot_variant *r_dest, const godot_variant *p_src);
 void GDAPI godot_variant_new_copy(godot_variant *r_dest, const godot_variant *p_src);
 
 
 void GDAPI godot_variant_new_nil(godot_variant *r_dest);
 void GDAPI godot_variant_new_nil(godot_variant *r_dest);