Browse Source

Fixed navigation schemes Modo/Maya when used with grid map tile placement

Zach Young 6 years ago
parent
commit
7b1e112f1d

+ 6 - 6
editor/plugins/spatial_editor_plugin.h

@@ -178,6 +178,12 @@ public:
 		GIZMO_GRID_LAYER = 25
 	};
 
+	enum NavigationScheme {
+		NAVIGATION_GODOT,
+		NAVIGATION_MAYA,
+		NAVIGATION_MODO,
+	};
+
 private:
 	int index;
 	String name;
@@ -260,12 +266,6 @@ private:
 
 	PopupMenu *selection_menu;
 
-	enum NavigationScheme {
-		NAVIGATION_GODOT,
-		NAVIGATION_MAYA,
-		NAVIGATION_MODO,
-	};
-
 	enum NavigationZoomStyle {
 		NAVIGATION_ZOOM_VERTICAL,
 		NAVIGATION_ZOOM_HORIZONTAL

+ 4 - 2
modules/gridmap/grid_map_editor_plugin.cpp

@@ -664,8 +664,10 @@ bool GridMapEditor::forward_spatial_input_event(Camera *p_camera, const Ref<Inpu
 		}
 
 		if (mb->is_pressed()) {
-
-			if (mb->get_button_index() == BUTTON_LEFT) {
+			SpatialEditorViewport::NavigationScheme nav_scheme = (SpatialEditorViewport::NavigationScheme)EditorSettings::get_singleton()->get("editors/3d/navigation/navigation_scheme").operator int();
+			if ((nav_scheme == SpatialEditorViewport::NAVIGATION_MAYA || nav_scheme == SpatialEditorViewport::NAVIGATION_MODO) && mb->get_alt()) {
+				input_action = INPUT_NONE;
+			} else if (mb->get_button_index() == BUTTON_LEFT) {
 
 				if (input_action == INPUT_PASTE) {
 					_do_paste();