Skip to content

Commit

Permalink
Merge pull request #1320 from Azaezel/alpha41/snapsync
Browse files Browse the repository at this point in the history
snap syncing
  • Loading branch information
Azaezel authored Sep 23, 2024
2 parents f8212ec + 7664b63 commit a132d73
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 8 deletions.
19 changes: 13 additions & 6 deletions Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3043,16 +3043,23 @@ DefineEngineMethod(GuiConvexEditorCtrl, getSelectedFaceZRot, float, (), ,
}

DefineEngineMethod(GuiConvexEditorCtrl, toggleGridSnapping, void, (),,
"@brief Mount objB to this object at the desired slot with optional transform.\n\n"

"@param objB Object to mount onto us\n"
"@param slot Mount slot ID\n"
"@param txfm (optional) mount offset transform\n"
"@return true if successful, false if failed (objB is not valid)")
"@brief toggle grid snapping state.\n\n")
{
object->toggleGridSnapping();
}

DefineEngineMethod(GuiConvexEditorCtrl, setGridSnap, void, (bool snap), ,
"@brief set grid snapping state.\n\n")
{
object->setGridSnap(snap);
}

DefineEngineMethod(GuiConvexEditorCtrl, getGridSnap, bool, (), ,
"@brief set grid snapping state.\n\n")
{
return object->getGridSnap();
}

DefineEngineMethod(GuiConvexEditorCtrl, setGridSnapSize, void, (float gridSize), (1.0),
"@brief Mount objB to this object at the desired slot with optional transform.\n\n"

Expand Down
2 changes: 2 additions & 0 deletions Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.h
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,8 @@ class GuiConvexEditorCtrl : public EditTSCtrl
void setSelectedFaceVertFlip(bool flipped);
void setSelectedFaceZRot(float degrees);
void toggleGridSnapping();
bool getGridSnap() { return mGridSnap; };
void setGridSnap(bool snap) { mGridSnap = snap; };
void setGridSnapSize(float gridSize);

void updateShape();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@ function ConvexEditorGui::onWake( %this )
%this.resizing = false;
%this.releaseSidePanel();
}

EWorldEditor.UseGridSnap = EditorSettings.value("WorldEditor/Tools/UseGridSnap");
CESnapOptions-->objectGridSnapBtn.setStateOn( EWorldEditor.UseGridSnap );
%this.setGridSnap( EWorldEditor.UseGridSnap );
EWorldEditor.setGridSnap( EWorldEditor.UseGridSnap );
}

function ConvexEditorGui::onSleep( %this )
Expand Down Expand Up @@ -212,9 +217,14 @@ function ConvexEditorMaterialResetBtn::onClick(%this)

function ConvexEditorGui::toggleGridSnap(%this)
{
%this.toggleGridSnapping();
EWorldEditor.UseGridSnap = !EWorldEditor.UseGridSnap;
EditorSettings.setValue("WorldEditor/Tools/UseGridSnap", EWorldEditor.UseGridSnap );
CESnapOptions-->objectGridSnapBtn.setStateOn( EWorldEditor.UseGridSnap );
%this.setGridSnap( EWorldEditor.UseGridSnap );
EWorldEditor.setGridSnap( EWorldEditor.UseGridSnap );
}


function ConvexEditorGridSnapSizeFld::onReturn(%this)
{
ConvexEditorGui.setGridSnapSize(%this.getText());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ $guiContent = new GuiControl(convexEditorToolbar, EditorGuiGroup) {
MinExtent = "1 1";
bitmapAsset = "ToolsModule:separator_h_image";
};
new GuiContainer() {
new GuiContainer(CESnapOptions) {
canSaveDynamicFields = "0";
Enabled = "1";
isContainer = "1";
Expand Down
4 changes: 4 additions & 0 deletions Templates/BaseGame/game/tools/convexEditor/main.tscript
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,10 @@ function ConvexEditorPlugin::onActivated( %this )
ConvexEditorScaleModeBtn.performClick();
}

EWorldEditor.UseGridSnap = EditorSettings.value("WorldEditor/Tools/UseGridSnap");
CESnapOptions-->objectGridSnapBtn.setStateOn( EWorldEditor.UseGridSnap );
%this.setGridSnap( EWorldEditor.UseGridSnap );

Parent::onActivated( %this );
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1019,6 +1019,10 @@ function WorldEditorPlugin::onActivated( %this )
ETransformSelection.setVisible(true);
}

EWorldEditor.UseGridSnap = EditorSettings.value("WorldEditor/Tools/UseGridSnap");
ESnapOptions-->GridSnapButton.setStateOn( EWorldEditor.UseGridSnap );
SnapToBar-->objectGridSnapBtn.setStateOn( EWorldEditor.UseGridSnap );

Parent::onActivated(%this);
}

Expand Down

0 comments on commit a132d73

Please sign in to comment.