diff options
| author | Kostadin Damyanov | 2015-09-05 12:03:17 +0300 |
|---|---|---|
| committer | Kostadin Damyanov | 2015-09-05 12:03:17 +0300 |
| commit | c5f574b914b3cb11d97ae616df4a0bced45bb17c (patch) | |
| tree | d7b70f0842c00c480ce10039b873a1dddd894a6c /tools/editor/plugins/spatial_editor_plugin.cpp | |
| parent | 2a757a6ad4ef4e7767b7d3ef7e177ec6613ef6d1 (diff) | |
| parent | b0aa49accbd7e45dae38f1bd43b0fbdd11714211 (diff) | |
| download | godot-c5f574b914b3cb11d97ae616df4a0bced45bb17c.tar.gz godot-c5f574b914b3cb11d97ae616df4a0bced45bb17c.tar.zst godot-c5f574b914b3cb11d97ae616df4a0bced45bb17c.zip | |
Diffstat (limited to 'tools/editor/plugins/spatial_editor_plugin.cpp')
| -rw-r--r-- | tools/editor/plugins/spatial_editor_plugin.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/tools/editor/plugins/spatial_editor_plugin.cpp b/tools/editor/plugins/spatial_editor_plugin.cpp index 77663f39c..8fc6a6931 100644 --- a/tools/editor/plugins/spatial_editor_plugin.cpp +++ b/tools/editor/plugins/spatial_editor_plugin.cpp @@ -2168,7 +2168,18 @@ void SpatialEditorViewport::set_state(const Dictionary& p_state) { view_menu->get_popup()->set_item_checked( idx, listener ); } - + if (p_state.has("previewing")) { + Node *pv = EditorNode::get_singleton()->get_edited_scene()->get_node(p_state["previewing"]); + if (pv && pv->cast_to<Camera>()) { + previewing=pv->cast_to<Camera>(); + previewing->connect("exit_tree",this,"_preview_exited_scene"); + VS::get_singleton()->viewport_attach_camera( viewport->get_viewport(), previewing->get_camera() ); //replace + view_menu->hide(); + surface->update(); + preview_camera->set_pressed(true); + preview_camera->show(); + } + } } Dictionary SpatialEditorViewport::get_state() const { @@ -2181,6 +2192,10 @@ Dictionary SpatialEditorViewport::get_state() const { d["use_environment"]=camera->get_environment().is_valid(); d["use_orthogonal"]=camera->get_projection()==Camera::PROJECTION_ORTHOGONAL; d["listener"]=viewport->is_audio_listener(); + if (previewing) { + d["previewing"]=EditorNode::get_singleton()->get_edited_scene()->get_path_to(previewing); + } + return d; } |
