From 425ec6914c40ed0654db16f417e80daa2a84cdd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= <rverschelde@gmail.com> Date: Mon, 4 Mar 2019 12:25:59 +0100 Subject: Revert "Forbid implicit type conversion in GDScript" --- modules/gdscript/gdscript_function.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'modules/gdscript/gdscript_function.h') diff --git a/modules/gdscript/gdscript_function.h b/modules/gdscript/gdscript_function.h index 34fc51e92a..cefc28d77f 100644 --- a/modules/gdscript/gdscript_function.h +++ b/modules/gdscript/gdscript_function.h @@ -55,7 +55,7 @@ struct GDScriptDataType { StringName native_type; Ref<Script> script_type; - bool is_type(const Variant &p_variant) const { + bool is_type(const Variant &p_variant, bool p_allow_implicit_conversion = false) const { if (!has_type) return true; // Can't type check switch (kind) { @@ -63,7 +63,11 @@ struct GDScriptDataType { break; case BUILTIN: { Variant::Type var_type = p_variant.get_type(); - return builtin_type == var_type; + bool valid = builtin_type == var_type; + if (!valid && p_allow_implicit_conversion) { + valid = Variant::can_convert_strict(var_type, builtin_type); + } + return valid; } break; case NATIVE: { if (p_variant.get_type() == Variant::NIL) { -- cgit v1.2.3