From 867d073b98344b848c96012418912a7e72841a31 Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Thu, 13 Feb 2020 16:03:10 -0300 Subject: Changed logic and optimized ObjectID in ObjectDB and Variant, removed RefPtr. --- core/object.cpp | 179 ++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 115 insertions(+), 64 deletions(-) (limited to 'core/object.cpp') diff --git a/core/object.cpp b/core/object.cpp index dc1dc2c41f..9a5cfe5c22 100644 --- a/core/object.cpp +++ b/core/object.cpp @@ -968,7 +968,7 @@ void Object::cancel_delete() { _predelete_ok = true; } -void Object::set_script_and_instance(const RefPtr &p_script, ScriptInstance *p_instance) { +void Object::set_script_and_instance(const Variant &p_script, ScriptInstance *p_instance) { //this function is not meant to be used in any of these ways ERR_FAIL_COND(p_script.is_null()); @@ -979,7 +979,7 @@ void Object::set_script_and_instance(const RefPtr &p_script, ScriptInstance *p_i script_instance = p_instance; } -void Object::set_script(const RefPtr &p_script) { +void Object::set_script(const Variant &p_script) { if (script == p_script) return; @@ -990,7 +990,7 @@ void Object::set_script(const RefPtr &p_script) { } script = p_script; - Ref