From 1f52782bbb417e559be9317cd56acb37b6d15a9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20J=2E=20Est=C3=A9banez?= Date: Tue, 27 Oct 2020 01:44:30 +0100 Subject: [PATCH] Extend UndoRedo handling of Resource to every Reference --- core/object/undo_redo.cpp | 25 +++++++++++++------------ core/object/undo_redo.h | 4 ++-- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/core/object/undo_redo.cpp b/core/object/undo_redo.cpp index 1dcbb0cd6b4..c5b66cda8ca 100644 --- a/core/object/undo_redo.cpp +++ b/core/object/undo_redo.cpp @@ -31,6 +31,7 @@ #include "undo_redo.h" #include "core/os/os.h" +#include "core/resource.h" void UndoRedo::_discard_redo() { if (current_action == actions.size() - 1) { @@ -104,8 +105,8 @@ void UndoRedo::add_do_method(Object *p_object, const StringName &p_method, VARIA ERR_FAIL_COND((current_action + 1) >= actions.size()); Operation do_op; do_op.object = p_object->get_instance_id(); - if (Object::cast_to(p_object)) { - do_op.resref = Ref(Object::cast_to(p_object)); + if (Object::cast_to(p_object)) { + do_op.ref = Ref(Object::cast_to(p_object)); } do_op.type = Operation::TYPE_METHOD; @@ -130,8 +131,8 @@ void UndoRedo::add_undo_method(Object *p_object, const StringName &p_method, VAR Operation undo_op; undo_op.object = p_object->get_instance_id(); - if (Object::cast_to(p_object)) { - undo_op.resref = Ref(Object::cast_to(p_object)); + if (Object::cast_to(p_object)) { + undo_op.ref = Ref(Object::cast_to(p_object)); } undo_op.type = Operation::TYPE_METHOD; @@ -149,8 +150,8 @@ void UndoRedo::add_do_property(Object *p_object, const StringName &p_property, c ERR_FAIL_COND((current_action + 1) >= actions.size()); Operation do_op; do_op.object = p_object->get_instance_id(); - if (Object::cast_to(p_object)) { - do_op.resref = Ref(Object::cast_to(p_object)); + if (Object::cast_to(p_object)) { + do_op.ref = Ref(Object::cast_to(p_object)); } do_op.type = Operation::TYPE_PROPERTY; @@ -171,8 +172,8 @@ void UndoRedo::add_undo_property(Object *p_object, const StringName &p_property, Operation undo_op; undo_op.object = p_object->get_instance_id(); - if (Object::cast_to(p_object)) { - undo_op.resref = Ref(Object::cast_to(p_object)); + if (Object::cast_to(p_object)) { + undo_op.ref = Ref(Object::cast_to(p_object)); } undo_op.type = Operation::TYPE_PROPERTY; @@ -187,8 +188,8 @@ void UndoRedo::add_do_reference(Object *p_object) { ERR_FAIL_COND((current_action + 1) >= actions.size()); Operation do_op; do_op.object = p_object->get_instance_id(); - if (Object::cast_to(p_object)) { - do_op.resref = Ref(Object::cast_to(p_object)); + if (Object::cast_to(p_object)) { + do_op.ref = Ref(Object::cast_to(p_object)); } do_op.type = Operation::TYPE_REFERENCE; @@ -207,8 +208,8 @@ void UndoRedo::add_undo_reference(Object *p_object) { Operation undo_op; undo_op.object = p_object->get_instance_id(); - if (Object::cast_to(p_object)) { - undo_op.resref = Ref(Object::cast_to(p_object)); + if (Object::cast_to(p_object)) { + undo_op.ref = Ref(Object::cast_to(p_object)); } undo_op.type = Operation::TYPE_REFERENCE; diff --git a/core/object/undo_redo.h b/core/object/undo_redo.h index 68d78e0d7db..06c2759a65a 100644 --- a/core/object/undo_redo.h +++ b/core/object/undo_redo.h @@ -31,8 +31,8 @@ #ifndef UNDO_REDO_H #define UNDO_REDO_H -#include "core/io/resource.h" #include "core/object/class_db.h" +#include "core/object/reference.h" class UndoRedo : public Object { GDCLASS(UndoRedo, Object); @@ -61,7 +61,7 @@ private: }; Type type; - Ref resref; + Ref ref; ObjectID object; StringName name; Variant args[VARIANT_ARG_MAX];