Merge pull request #1585 from UsernameIsAReservedWord/add_is_queued_for_deletion_in_objects
add : bool Object.is_queued_for_deletion()
This commit is contained in:
commit
7b75658bb2
3 changed files with 11 additions and 1 deletions
|
@ -1503,6 +1503,8 @@ void Object::_bind_methods() {
|
||||||
ObjectTypeDB::bind_method(_MD("XL_MESSAGE","message"),&Object::XL_MESSAGE);
|
ObjectTypeDB::bind_method(_MD("XL_MESSAGE","message"),&Object::XL_MESSAGE);
|
||||||
ObjectTypeDB::bind_method(_MD("tr","message"),&Object::tr);
|
ObjectTypeDB::bind_method(_MD("tr","message"),&Object::tr);
|
||||||
|
|
||||||
|
ObjectTypeDB::bind_method(_MD("is_queued_for_deletion"),&Object::is_queued_for_deletion);
|
||||||
|
|
||||||
ADD_SIGNAL( MethodInfo("script_changed"));
|
ADD_SIGNAL( MethodInfo("script_changed"));
|
||||||
|
|
||||||
BIND_VMETHOD( MethodInfo("_notification",PropertyInfo(Variant::INT,"what")) );
|
BIND_VMETHOD( MethodInfo("_notification",PropertyInfo(Variant::INT,"what")) );
|
||||||
|
@ -1566,6 +1568,10 @@ void Object::get_translatable_strings(List<String> *p_strings) const {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Object::is_queued_for_deletion() const {
|
||||||
|
return _is_queued_for_deletion;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef TOOLS_ENABLED
|
#ifdef TOOLS_ENABLED
|
||||||
void Object::set_edited(bool p_edited) {
|
void Object::set_edited(bool p_edited) {
|
||||||
|
|
||||||
|
@ -1587,6 +1593,7 @@ Object::Object() {
|
||||||
_instance_ID=0;
|
_instance_ID=0;
|
||||||
_instance_ID = ObjectDB::add_instance(this);
|
_instance_ID = ObjectDB::add_instance(this);
|
||||||
_can_translate=true;
|
_can_translate=true;
|
||||||
|
_is_queued_for_deletion=false;
|
||||||
script_instance=NULL;
|
script_instance=NULL;
|
||||||
#ifdef TOOLS_ENABLED
|
#ifdef TOOLS_ENABLED
|
||||||
|
|
||||||
|
|
|
@ -397,7 +397,6 @@ friend void postinitialize_handler(Object*);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|
||||||
virtual bool _use_builtin_script() const { return false; }
|
virtual bool _use_builtin_script() const { return false; }
|
||||||
virtual void _initialize_typev() { initialize_type(); }
|
virtual void _initialize_typev() { initialize_type(); }
|
||||||
virtual bool _setv(const StringName& p_name,const Variant &p_property) { return false; };
|
virtual bool _setv(const StringName& p_name,const Variant &p_property) { return false; };
|
||||||
|
@ -589,6 +588,9 @@ public:
|
||||||
StringName XL_MESSAGE(const StringName& p_message) const; //translate message (internationalization)
|
StringName XL_MESSAGE(const StringName& p_message) const; //translate message (internationalization)
|
||||||
StringName tr(const StringName& p_message) const; //translate message (alternative)
|
StringName tr(const StringName& p_message) const; //translate message (alternative)
|
||||||
|
|
||||||
|
bool _is_queued_for_deletion; // set to true by SceneTree::queue_delete()
|
||||||
|
bool is_queued_for_deletion() const;
|
||||||
|
|
||||||
_FORCE_INLINE_ void set_message_translation(bool p_enable) { _can_translate=p_enable; }
|
_FORCE_INLINE_ void set_message_translation(bool p_enable) { _can_translate=p_enable; }
|
||||||
_FORCE_INLINE_ bool can_translate_messages() const { return _can_translate; }
|
_FORCE_INLINE_ bool can_translate_messages() const { return _can_translate; }
|
||||||
Object();
|
Object();
|
||||||
|
|
|
@ -850,6 +850,7 @@ void SceneTree::queue_delete(Object *p_object) {
|
||||||
|
|
||||||
_THREAD_SAFE_METHOD_
|
_THREAD_SAFE_METHOD_
|
||||||
ERR_FAIL_NULL(p_object);
|
ERR_FAIL_NULL(p_object);
|
||||||
|
p_object->_is_queued_for_deletion = true;
|
||||||
delete_queue.push_back(p_object->get_instance_ID());
|
delete_queue.push_back(p_object->get_instance_ID());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue