summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro J. Estébanez <pedrojrulez@gmail.com>2017-11-20 01:45:56 +0100
committerPedro J. Estébanez <pedrojrulez@gmail.com>2017-11-25 02:18:28 +0100
commit1964d5fdddf9611e0a69f91e31c06771345754e2 (patch)
treed770d67b9b4f90daff75ce6d1fd327ed8b81c5e9
parent81c49fb5368ab1194fc9cedffa8920c45f5b241b (diff)
Improve/fix SpatialEditor state saving/restoring
-rw-r--r--editor/plugins/spatial_editor_plugin.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/editor/plugins/spatial_editor_plugin.cpp b/editor/plugins/spatial_editor_plugin.cpp
index c8a7ad45ae..384c20d79f 100644
--- a/editor/plugins/spatial_editor_plugin.cpp
+++ b/editor/plugins/spatial_editor_plugin.cpp
@@ -2849,6 +2849,20 @@ void SpatialEditorViewport::set_state(const Dictionary &p_state) {
camera->set_doppler_tracking(doppler ? Camera::DOPPLER_TRACKING_IDLE_STEP : Camera::DOPPLER_TRACKING_DISABLED);
view_menu->get_popup()->set_item_checked(idx, doppler);
}
+ if (p_state.has("gizmos")) {
+ bool gizmos = p_state["gizmos"];
+
+ int idx = view_menu->get_popup()->get_item_index(VIEW_GIZMOS);
+ if (view_menu->get_popup()->is_item_checked(idx) != gizmos)
+ _menu_option(VIEW_GIZMOS);
+ }
+ if (p_state.has("information")) {
+ bool information = p_state["information"];
+
+ int idx = view_menu->get_popup()->get_item_index(VIEW_INFORMATION);
+ if (view_menu->get_popup()->is_item_checked(idx) != information)
+ _menu_option(VIEW_INFORMATION);
+ }
if (p_state.has("half_res")) {
bool half_res = p_state["half_res"];
@@ -2880,6 +2894,9 @@ 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();
+ d["doppler"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_AUDIO_DOPPLER));
+ d["gizmos"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_GIZMOS));
+ d["information"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_INFORMATION));
d["half_res"] = viewport_container->get_stretch_shrink() > 1;
if (previewing) {
d["previewing"] = EditorNode::get_singleton()->get_edited_scene()->get_path_to(previewing);