Browse Source

add force to selecting node instead component in view port

MonkeyFirst 10 years ago
parent
commit
df91bae159
2 changed files with 10 additions and 0 deletions
  1. 1 0
      bin/Data/Scripts/Editor/EditorScene.as
  2. 9 0
      bin/Data/Scripts/Editor/EditorView.as

+ 1 - 0
bin/Data/Scripts/Editor/EditorScene.as

@@ -20,6 +20,7 @@ bool runUpdate = false;
 
 Node@ lastSelectedNode;
 Drawable@ lastSelectedDrawable;
+Component@ lastSelectedComponent;
 
 Array<Node@> selectedNodes;
 Array<Component@> selectedComponents;

+ 9 - 0
bin/Data/Scripts/Editor/EditorView.as

@@ -1390,6 +1390,13 @@ void UpdateView(float timeStep)
         orbiting = false;
 
     // Move/rotate/scale object
+    if ( hotKeyMode == HOTKEYS_MODE_BLENDER) // force to select component node for manipulation if selected only component and not his node
+    {    if ((editMode != EDIT_SELECT && editNodes.empty) && lastSelectedComponent !is null )
+        {
+                SelectNode(lastSelectedComponent.node, false);
+        }   
+    }
+    
     if (!editNodes.empty && editMode != EDIT_SELECT && input.keyDown[KEY_LCTRL])
     {
         Vector3 adjust(0, 0, 0);
@@ -1694,6 +1701,7 @@ void ViewRaycast(bool mouseClick)
                 {
                     lastSelectedNode = drawable.node;
                     lastSelectedDrawable = drawable;
+                    lastSelectedComponent = drawable;
                 }
             }
             else if ( hotKeyMode == HOTKEYS_MODE_BLENDER ) {
@@ -1701,6 +1709,7 @@ void ViewRaycast(bool mouseClick)
                 {
                     lastSelectedNode = drawable.node;
                     lastSelectedDrawable = drawable;
+                    lastSelectedComponent = drawable;
                 }
             }