瀏覽代碼

Reset state of SkeletonModification2D when loaded from cache

johnsonbaugh 1 年之前
父節點
當前提交
e2995d3b88

+ 5 - 0
scene/resources/2d/skeleton/skeleton_modification_2d.cpp

@@ -233,6 +233,11 @@ void SkeletonModification2D::_bind_methods() {
 	ADD_PROPERTY(PropertyInfo(Variant::INT, "execution_mode", PROPERTY_HINT_ENUM, "process,physics_process"), "set_execution_mode", "get_execution_mode");
 }
 
+void SkeletonModification2D::reset_state() {
+	stack = nullptr;
+	is_setup = false;
+}
+
 SkeletonModification2D::SkeletonModification2D() {
 	stack = nullptr;
 	is_setup = false;

+ 2 - 0
scene/resources/2d/skeleton/skeleton_modification_2d.h

@@ -57,6 +57,8 @@ protected:
 
 	bool _print_execution_error(bool p_condition, String p_message);
 
+	virtual void reset_state() override;
+
 	GDVIRTUAL1(_execute, double)
 	GDVIRTUAL1(_setup_modification, Ref<SkeletonModificationStack2D>)
 	GDVIRTUAL0(_draw_editor_gizmo)