diff options
author | Juan Linietsky <reduzio@gmail.com> | 2015-12-13 20:39:01 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2015-12-13 20:39:01 -0300 |
commit | 7f96f0603e16a970c7b0ea1fba936e56baf80d4a (patch) | |
tree | f470757f0dc5669ed7fbd6c720339dde0d7ce04d /scene/resources/packed_scene.h | |
parent | 72ff61963b207cc41664f7aeb39448d0a2f8369f (diff) | |
download | redot-engine-7f96f0603e16a970c7b0ea1fba936e56baf80d4a.tar.gz |
-scenes are properly reloaded when a dependency changes, fixes #2896
(it's clevery done so local changes to scenes are kept even if unsaved)
Diffstat (limited to 'scene/resources/packed_scene.h')
-rw-r--r-- | scene/resources/packed_scene.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/scene/resources/packed_scene.h b/scene/resources/packed_scene.h index f3ec0afb6d..67d0f4ba01 100644 --- a/scene/resources/packed_scene.h +++ b/scene/resources/packed_scene.h @@ -99,6 +99,8 @@ class SceneState : public Reference { String path; + uint64_t last_modified_time; + _FORCE_INLINE_ Ref<SceneState> _get_base_scene_state() const; static bool disable_placeholders; @@ -162,6 +164,9 @@ public: void add_connection(int p_from,int p_to, int p_signal, int p_method, int p_flags,const Vector<int>& p_binds); void add_editable_instance(const NodePath& p_path); + virtual void set_last_modified_time(uint64_t p_time) { last_modified_time=p_time; } + uint64_t get_last_modified_time() const { return last_modified_time; } + SceneState(); }; @@ -189,8 +194,13 @@ public: bool can_instance() const; Node *instance(bool p_gen_edit_state=false) const; + void recreate_state(); + virtual void set_path(const String& p_path,bool p_take_over=false); +#ifdef TOOLS_ENABLED + virtual void set_last_modified_time(uint64_t p_time) { state->set_last_modified_time(p_time); } +#endif Ref<SceneState> get_state(); PackedScene(); |