diff --git a/Templates/BaseGame/game/tools/worldEditor/gui/ObjectSnapOptionsWindow.ed.gui b/Templates/BaseGame/game/tools/worldEditor/gui/ObjectSnapOptionsWindow.ed.gui index 24f5c8172..64332f8a3 100644 --- a/Templates/BaseGame/game/tools/worldEditor/gui/ObjectSnapOptionsWindow.ed.gui +++ b/Templates/BaseGame/game/tools/worldEditor/gui/ObjectSnapOptionsWindow.ed.gui @@ -28,7 +28,7 @@ canMinimize = "0"; canMaximize = "0"; position = "400 31"; - extent =" 175 257"; + extent =" 175 267"; MinExtent = "175 130"; text = "Snap Options"; closeCommand = "ESnapOptions.hideDialog();"; @@ -51,7 +51,7 @@ Visible = "1"; hovertime = "1000"; Docking = "Client"; - Margin = "3 22 3 3"; + Margin = "3 32 3 3"; Padding = "0 0 0 0"; AnchorTop = "1"; AnchorBottom = "0"; @@ -793,6 +793,25 @@ canSave = "1"; canSaveDynamicFields = "0"; }; + new GuiCheckBoxCtrl() { + text = "Use Group Center"; + groupNum = "1"; + useMouseEvents = "0"; + isContainer = "0"; + horizSizing = "right"; + vertSizing = "top"; + position = "4 246"; + extent = "105 24"; + minExtent = "8 8"; + visible = "1"; + active = "1"; + command = "toggleSnappingOptions(\"byGroup\");"; + tooltipProfile = "ToolsGuiToolTipProfile"; + hovertime = "1000"; + internalName = "GroupSnapButton"; + canSave = "1"; + canSaveDynamicFields = "0"; + }; new GuiTextCtrl() { text = "Size"; maxLength = "1024"; diff --git a/Templates/BaseGame/game/tools/worldEditor/scripts/EditorGui.ed.cs b/Templates/BaseGame/game/tools/worldEditor/scripts/EditorGui.ed.cs index 31f794d17..bc1905292 100644 --- a/Templates/BaseGame/game/tools/worldEditor/scripts/EditorGui.ed.cs +++ b/Templates/BaseGame/game/tools/worldEditor/scripts/EditorGui.ed.cs @@ -2050,12 +2050,14 @@ function EWorldEditor::syncGui( %this ) EWorldEditorToolbar-->renderHandleBtn.setStateOn( EWorldEditor.renderObjHandle ); EWorldEditorToolbar-->renderTextBtn.setStateOn( EWorldEditor.renderObjText ); + EWorldEditorToolbar-->objectSnapDownBtn.setStateOn( %this.stickToGround ); SnapToBar-->objectSnapBtn.setStateOn( EWorldEditor.getSoftSnap() ); EWorldEditorToolbar-->softSnapSizeTextEdit.setText( EWorldEditor.getSoftSnapSize() ); ESnapOptions-->SnapSize.setText( EWorldEditor.getSoftSnapSize() ); ESnapOptions-->GridSize.setText( EWorldEditor.getGridSize() ); ESnapOptions-->GridSnapButton.setStateOn( %this.getGridSnap() ); + ESnapOptions-->GroupSnapButton.setStateOn( %this.UseGroupCenter ); SnapToBar-->objectGridSnapBtn.setStateOn( %this.getGridSnap() ); ESnapOptions-->NoSnapButton.setStateOn( !%this.stickToGround && !%this.getSoftSnap() && !%this.getGridSnap() ); } @@ -2458,6 +2460,11 @@ function toggleSnappingOptions( %var ) { EWorldEditor.setGridSnap( !EWorldEditor.getGridSnap() ); } + else if( %var $= "byGroup" ) + { + EWorldEditor.UseGroupCenter = !EWorldEditor.UseGroupCenter; + ESnapOptions->GroupSnapButton.setStateOn(EWorldEditor.UseGroupCenter); + } else { // No snapping. diff --git a/Templates/BaseGame/game/tools/worldEditor/scripts/menus.ed.cs b/Templates/BaseGame/game/tools/worldEditor/scripts/menus.ed.cs index be068b9ed..dbe978cab 100644 --- a/Templates/BaseGame/game/tools/worldEditor/scripts/menus.ed.cs +++ b/Templates/BaseGame/game/tools/worldEditor/scripts/menus.ed.cs @@ -315,6 +315,7 @@ function EditorGui::buildMenus(%this) item[5] = "at Centroid" TAB "" TAB "atCentroid"; item[6] = "to Terrain" TAB "" TAB "toTerrain"; item[7] = "Below Selection" TAB "" TAB "belowSelection"; + item[8] = "At Gizmo" TAB "" TAB "atGizmo"; }; %this.alignBoundsMenu = new PopupMenu()