mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-19 20:24:49 +00:00
add min/max tile height entrys to painter, apply those to the general isvalid check for a given tile alteration. apply that to more brushes.
This commit is contained in:
parent
85955479c8
commit
24933a1cc7
|
|
@ -51,6 +51,9 @@ bool TerrainAction::isValid(GridInfo tile)
|
|||
norm.z < maxSlope)
|
||||
return false;
|
||||
}
|
||||
if (tile.mHeight < mTerrainEditor->mTileMinHeight || tile.mHeight > mTerrainEditor->mTileMaxHeight)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -226,32 +229,13 @@ void PaintMaterialAction::process(Selection * sel, const Gui3DMouseEvent &, bool
|
|||
if ( !selChanged || mat < 0 )
|
||||
return;
|
||||
|
||||
const bool slopeLimit = mTerrainEditor->mSlopeMinAngle > 0.0f || mTerrainEditor->mSlopeMaxAngle < 90.0f;
|
||||
const F32 minSlope = mSin( mDegToRad( 90.0f - mTerrainEditor->mSlopeMinAngle ) );
|
||||
const F32 maxSlope = mSin( mDegToRad( 90.0f - mTerrainEditor->mSlopeMaxAngle ) );
|
||||
|
||||
const TerrainBlock *terrain = mTerrainEditor->getActiveTerrain();
|
||||
const F32 squareSize = terrain->getSquareSize();
|
||||
|
||||
Point2F p;
|
||||
Point3F norm;
|
||||
|
||||
|
||||
for( U32 i = 0; i < sel->size(); i++ )
|
||||
{
|
||||
GridInfo &inf = (*sel)[i];
|
||||
|
||||
if ( slopeLimit )
|
||||
{
|
||||
p.x = inf.mGridPoint.gridPos.x * squareSize;
|
||||
p.y = inf.mGridPoint.gridPos.y * squareSize;
|
||||
if ( !terrain->getNormal( p, &norm, true ) )
|
||||
continue;
|
||||
|
||||
if ( norm.z > minSlope ||
|
||||
norm.z < maxSlope )
|
||||
continue;
|
||||
}
|
||||
if (!isValid(inf))
|
||||
continue;
|
||||
|
||||
// If grid is already set to our material, or it is an
|
||||
// empty grid spot, then skip painting.
|
||||
|
|
@ -324,6 +308,9 @@ void RaiseHeightAction::process( Selection *sel, const Gui3DMouseEvent &evt, boo
|
|||
|
||||
for ( U32 i = 0; i < sel->size(); i++ )
|
||||
{
|
||||
if (!isValid((*sel)[i]))
|
||||
continue;
|
||||
|
||||
mTerrainEditor->getUndoSel()->add((*sel)[i]);
|
||||
if ( (*sel)[i].mHeight < maxHeight )
|
||||
{
|
||||
|
|
@ -370,6 +357,9 @@ void LowerHeightAction::process(Selection * sel, const Gui3DMouseEvent &, bool s
|
|||
|
||||
for(U32 i = 0; i < sel->size(); i++)
|
||||
{
|
||||
if (!isValid((*sel)[i]))
|
||||
continue;
|
||||
|
||||
mTerrainEditor->getUndoSel()->add((*sel)[i]);
|
||||
if((*sel)[i].mHeight > maxHeight)
|
||||
{
|
||||
|
|
@ -391,6 +381,9 @@ void SetHeightAction::process(Selection * sel, const Gui3DMouseEvent &, bool sel
|
|||
{
|
||||
for(U32 i = 0; i < sel->size(); i++)
|
||||
{
|
||||
if (!isValid((*sel)[i]))
|
||||
continue;
|
||||
|
||||
mTerrainEditor->getUndoSel()->add((*sel)[i]);
|
||||
(*sel)[i].mHeight = mTerrainEditor->mSetHeightVal;
|
||||
mTerrainEditor->setGridInfo((*sel)[i]);
|
||||
|
|
@ -470,6 +463,9 @@ void ScaleHeightAction::process(Selection * sel, const Gui3DMouseEvent &, bool s
|
|||
{
|
||||
for(U32 i = 0; i < sel->size(); i++)
|
||||
{
|
||||
if (!isValid((*sel)[i]))
|
||||
continue;
|
||||
|
||||
mTerrainEditor->getUndoSel()->add((*sel)[i]);
|
||||
(*sel)[i].mHeight *= mTerrainEditor->mScaleVal;
|
||||
mTerrainEditor->setGridInfo((*sel)[i]);
|
||||
|
|
@ -529,6 +525,9 @@ void BrushAdjustHeightAction::process(Selection * sel, const Gui3DMouseEvent & e
|
|||
// and record the starting heights
|
||||
for(U32 i = 0; i < sel->size(); i++)
|
||||
{
|
||||
if (!isValid((*sel)[i]))
|
||||
continue;
|
||||
|
||||
mTerrainEditor->getUndoSel()->add((*sel)[i]);
|
||||
(*sel)[i].mStartHeight = (*sel)[i].mHeight;
|
||||
}
|
||||
|
|
@ -608,6 +607,9 @@ void FlattenHeightAction::process(Selection * sel, const Gui3DMouseEvent &, bool
|
|||
// set it
|
||||
for(U32 i = 0; i < sel->size(); i++)
|
||||
{
|
||||
if (!isValid((*sel)[i]))
|
||||
continue;
|
||||
|
||||
mTerrainEditor->getUndoSel()->add((*sel)[i]);
|
||||
|
||||
//
|
||||
|
|
@ -652,6 +654,9 @@ void SmoothHeightAction::process(Selection * sel, const Gui3DMouseEvent &, bool
|
|||
// linear
|
||||
for(U32 i = 0; i < sel->size(); i++)
|
||||
{
|
||||
if (!isValid((*sel)[i]))
|
||||
continue;
|
||||
|
||||
(*sel)[i].mHeight += (avgHeight - (*sel)[i].mHeight) * mTerrainEditor->mSmoothFactor * (*sel)[i].mWeight;
|
||||
mTerrainEditor->setGridInfo((*sel)[i]);
|
||||
}
|
||||
|
|
@ -695,7 +700,10 @@ void SmoothSlopeAction::process(Selection * sel, const Gui3DMouseEvent &, bool s
|
|||
|
||||
F32 goalHeight;
|
||||
for(U32 i = 0; i < sel->size(); i++)
|
||||
{
|
||||
{
|
||||
if (!isValid((*sel)[i]))
|
||||
continue;
|
||||
|
||||
goalHeight = avgHeight + ((*sel)[i].mGridPoint.gridPos.x - avgPos.x)*avgSlope.x +
|
||||
((*sel)[i].mGridPoint.gridPos.y - avgPos.y)*avgSlope.y;
|
||||
(*sel)[i].mHeight += (goalHeight - (*sel)[i].mHeight) * (*sel)[i].mWeight;
|
||||
|
|
@ -723,6 +731,9 @@ void PaintNoiseAction::process(Selection * sel, const Gui3DMouseEvent &, bool se
|
|||
{
|
||||
for( U32 i = 0; i < sel->size(); i++ )
|
||||
{
|
||||
if (!isValid((*sel)[i]))
|
||||
continue;
|
||||
|
||||
mTerrainEditor->getUndoSel()->add((*sel)[i]);
|
||||
|
||||
const Point2I &gridPos = (*sel)[i].mGridPoint.gridPos;
|
||||
|
|
@ -732,6 +743,12 @@ void PaintNoiseAction::process(Selection * sel, const Gui3DMouseEvent &, bool se
|
|||
|
||||
(*sel)[i].mHeight += (noiseVal - mMinMaxNoise.y * mScale) * (*sel)[i].mWeight * mTerrainEditor->mNoiseFactor;
|
||||
|
||||
if ((*sel)[i].mHeight > mTerrainEditor->mTileMaxHeight)
|
||||
(*sel)[i].mHeight = mTerrainEditor->mTileMaxHeight;
|
||||
|
||||
if ((*sel)[i].mHeight < mTerrainEditor->mTileMinHeight)
|
||||
(*sel)[i].mHeight = mTerrainEditor->mTileMinHeight;
|
||||
|
||||
mTerrainEditor->setGridInfo((*sel)[i]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -745,6 +745,8 @@ TerrainEditor::TerrainEditor() :
|
|||
|
||||
mSlopeMinAngle = 0.0f;
|
||||
mSlopeMaxAngle = 90.0f;
|
||||
mTileMinHeight = 0;
|
||||
mTileMaxHeight = 2047;
|
||||
}
|
||||
|
||||
TerrainEditor::~TerrainEditor()
|
||||
|
|
@ -2858,6 +2860,38 @@ DefineEngineMethod( TerrainEditor, setSlopeLimitMaxAngle, F32, (F32 angle), , ""
|
|||
return angle;
|
||||
}
|
||||
|
||||
DefineEngineMethod(TerrainEditor, getTileLimitMinHeight, F32, (), , "")
|
||||
{
|
||||
return object->mTileMinHeight;
|
||||
}
|
||||
|
||||
DefineEngineMethod(TerrainEditor, setTileLimitMinHeight, F32, (F32 height), , "")
|
||||
{
|
||||
if (height < 0.0f)
|
||||
height = 0.0f;
|
||||
|
||||
if (height > object->mTileMaxHeight)
|
||||
height = object->mTileMaxHeight;
|
||||
|
||||
object->mTileMinHeight = height;
|
||||
return height;
|
||||
}
|
||||
|
||||
DefineEngineMethod(TerrainEditor, getTileLimitMaxHeight, F32, (), , "")
|
||||
{
|
||||
return object->mTileMaxHeight;
|
||||
}
|
||||
|
||||
DefineEngineMethod(TerrainEditor, setTileLimitMaxHeight, F32, (F32 height), , "")
|
||||
{
|
||||
if (height > 2047.0f)
|
||||
height = 2047.0f;
|
||||
if (height < object->mTileMinHeight)
|
||||
height = object->mTileMinHeight;
|
||||
|
||||
object->mTileMaxHeight = height;
|
||||
return height;
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
void TerrainEditor::autoMaterialLayer( F32 mMinHeight, F32 mMaxHeight, F32 mMinSlope, F32 mMaxSlope, F32 mCoverage )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -448,6 +448,8 @@ class TerrainEditor : public EditTSCtrl
|
|||
|
||||
F32 mSlopeMinAngle;
|
||||
F32 mSlopeMaxAngle;
|
||||
F32 mTileMinHeight;
|
||||
F32 mTileMaxHeight;
|
||||
|
||||
public:
|
||||
|
||||
|
|
|
|||
|
|
@ -447,7 +447,7 @@ $guiContent = new GuiControl(EWTerrainEditToolbar,EditorGuiGroup) {
|
|||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
text = "Slope Mask: Min";
|
||||
text = "Slope Mask: Min";
|
||||
maxLength = "1024";
|
||||
};
|
||||
new GuiTextEditCtrl() {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "306 -3";
|
||||
Extent = "800 40";
|
||||
Extent = "1000 40";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
|
|
@ -35,7 +35,7 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "0 0";
|
||||
Extent = "760 40";
|
||||
Extent = "1000 40";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
|
|
@ -223,7 +223,7 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "245 2";
|
||||
Extent = "256 50";
|
||||
Extent = "422 50";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
|
|
@ -237,7 +237,7 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "21 5";
|
||||
Extent = "78 10";
|
||||
Extent = "74 10";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
|
|
@ -250,7 +250,7 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
text = "Slope Mask: Min";
|
||||
text = "Slope Range";
|
||||
maxLength = "1024";
|
||||
};
|
||||
new GuiTextEditCtrl() {
|
||||
|
|
@ -260,7 +260,7 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
Profile = "ToolsGuiNumericDropSliderTextProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "104 2";
|
||||
Position = "97 2";
|
||||
Extent = "51 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
|
|
@ -290,7 +290,7 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
Profile = "ToolsGuiDefaultProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "137 2";
|
||||
Position = "132 2";
|
||||
Extent = "18 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
|
|
@ -304,16 +304,6 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
bitmapAsset = "ToolsModule:dropslider_n_image";
|
||||
Command = "Canvas.pushDialog(PaintBrushSlopeMinContainer);";
|
||||
};
|
||||
new GuiTextCtrl() {
|
||||
Profile = "ToolsGuiTextProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "165 5";
|
||||
Extent = "27 10";
|
||||
MinExtent = "8 2";
|
||||
text = "Max";
|
||||
tooltip = "Max terrain angle that will be paintable";
|
||||
};
|
||||
new GuiTextEditCtrl() {
|
||||
internalName = "SlopeMaxAngle";
|
||||
canSaveDynamicFields = "0";
|
||||
|
|
@ -321,7 +311,7 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
Profile = "ToolsGuiNumericDropSliderTextProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "190 2";
|
||||
Position = "150 2";
|
||||
Extent = "51 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
|
|
@ -351,7 +341,7 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
Profile = "ToolsGuiDefaultProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "223 2";
|
||||
Position = "184 2";
|
||||
Extent = "18 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
|
|
@ -364,13 +354,147 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
useMouseEvents = "0";
|
||||
bitmapAsset = "ToolsModule:dropslider_n_image";
|
||||
Command = "Canvas.pushDialog(PaintBrushSlopeMaxContainer);";
|
||||
};
|
||||
new GuiBitmapCtrl() {
|
||||
Enabled = "1";
|
||||
Profile = "ToolsGuiDefaultProfile";
|
||||
position = "211 0";
|
||||
Extent = "2 26";
|
||||
MinExtent = "1 1";
|
||||
bitmapAsset = "ToolsModule:separator_h_image";
|
||||
};
|
||||
|
||||
new GuiTextCtrl() {
|
||||
canSaveDynamicFields = "0";
|
||||
isContainer = "0";
|
||||
Profile = "ToolsGuiTextProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "221 5";
|
||||
Extent = "79 10";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "ToolsGuiToolTipProfile";
|
||||
tooltip = "Allows painting on the terrain within a specified slope";
|
||||
hovertime = "1000";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
text = "Height Range";
|
||||
maxLength = "1024";
|
||||
};
|
||||
new GuiTextEditCtrl() {
|
||||
internalName = "tileMinHeight";
|
||||
canSaveDynamicFields = "0";
|
||||
isContainer = "0";
|
||||
Profile = "ToolsGuiNumericDropSliderTextProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "305 2";
|
||||
Extent = "51 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
validate = "TerrainPainterPlugin.validateTileMinHeight();";
|
||||
Command = "ETerrainEditor.setTileLimitMinHeight( $ThisControl.getText() );";
|
||||
tooltipprofile = "ToolsGuiToolTipProfile";
|
||||
tooltip = "Minimum terrain angle that will be paintable";
|
||||
hovertime = "1000";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
text = "0.0";
|
||||
maxLength = "4";
|
||||
historySize = "0";
|
||||
password = "0";
|
||||
tabComplete = "0";
|
||||
sinkAllKeyEvents = "0";
|
||||
passwordMask = "*";
|
||||
};
|
||||
new GuiBitmapButtonCtrl() {
|
||||
canSaveDynamicFields = "0";
|
||||
isContainer = "0";
|
||||
Profile = "ToolsGuiDefaultProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "340 2";
|
||||
Extent = "18 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "ToolsGuiToolTipProfile";
|
||||
tooltip = "Minimum terrain angle that will be paintable";
|
||||
hovertime = "1000";
|
||||
groupNum = "-1";
|
||||
buttonType = "PushButton";
|
||||
useMouseEvents = "0";
|
||||
bitmapAsset = "ToolsModule:dropslider_n_image";
|
||||
Command = "Canvas.pushDialog(PaintBrushTileMinHeightContainer);";
|
||||
};
|
||||
new GuiTextEditCtrl() {
|
||||
internalName = "tileMaxHeight";
|
||||
canSaveDynamicFields = "0";
|
||||
isContainer = "0";
|
||||
Profile = "ToolsGuiNumericDropSliderTextProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "358 2";
|
||||
Extent = "51 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
validate = "TerrainPainterPlugin.validateTileMaxHeight();";
|
||||
Command = "ETerrainEditor.setTileLimitMaxHeight( $ThisControl.getText() );";
|
||||
tooltipprofile = "ToolsGuiToolTipProfile";
|
||||
tooltip = "Max terrain angle that will be paintable";
|
||||
hovertime = "1000";
|
||||
Margin = "0 0 0 0";
|
||||
Padding = "0 0 0 0";
|
||||
AnchorTop = "1";
|
||||
AnchorBottom = "0";
|
||||
AnchorLeft = "1";
|
||||
AnchorRight = "0";
|
||||
text = "90.0";
|
||||
maxLength = "4";
|
||||
historySize = "0";
|
||||
password = "0";
|
||||
tabComplete = "0";
|
||||
sinkAllKeyEvents = "0";
|
||||
passwordMask = "*";
|
||||
};
|
||||
new GuiBitmapButtonCtrl() {
|
||||
canSaveDynamicFields = "0";
|
||||
isContainer = "0";
|
||||
Profile = "ToolsGuiDefaultProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "392 2";
|
||||
Extent = "18 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
tooltipprofile = "ToolsGuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
groupNum = "-1";
|
||||
tooltip = "Max terrain angle that will be paintable";
|
||||
buttonType = "PushButton";
|
||||
useMouseEvents = "0";
|
||||
bitmapAsset = "ToolsModule:dropslider_n_image";
|
||||
Command = "Canvas.pushDialog(PaintBrushTileMaxHeightContainer);";
|
||||
};
|
||||
};
|
||||
|
||||
new GuiBitmapCtrl() {
|
||||
Enabled = "1";
|
||||
Profile = "ToolsGuiDefaultProfile";
|
||||
position = "498 0";
|
||||
position = "665 0";
|
||||
Extent = "2 26";
|
||||
MinExtent = "1 1";
|
||||
bitmapAsset = "ToolsModule:separator_h_image";
|
||||
|
|
@ -382,7 +506,7 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
Profile = "ToolsGuiTransparentProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "510 2";
|
||||
position = "676 2";
|
||||
Extent = "120 50";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
|
|
@ -397,7 +521,7 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "0 5";
|
||||
Extent = "47 10";
|
||||
Extent = "53 10";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
|
|
@ -418,8 +542,8 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
profile="ToolsGuiNumericDropSliderTextProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "49 2";
|
||||
Extent = "42 16";
|
||||
position = "55 2";
|
||||
Extent = "51 16";
|
||||
MinExtent = "8 16";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
|
|
@ -439,7 +563,7 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
Profile = "ToolsGuiDefaultProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
Position = "83 2";
|
||||
Position = "89 2";
|
||||
Extent = "18 18";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
|
|
@ -458,14 +582,14 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
|
|||
new GuiBitmapCtrl() {
|
||||
Enabled = "1";
|
||||
Profile = "ToolsGuiDefaultProfile";
|
||||
position = "618 0";
|
||||
position = "786 0";
|
||||
Extent = "2 26";
|
||||
MinExtent = "1 1";
|
||||
bitmapAsset = "ToolsModule:separator_h_image";
|
||||
};
|
||||
|
||||
new GuiControl(TerrainTextureSettingsButtonContainer,EditorGuiGroup) {
|
||||
position = "628 4";
|
||||
position = "796 4";
|
||||
extent = "90 18";
|
||||
minExtent = "8 2";
|
||||
horizSizing = "right";
|
||||
|
|
@ -693,3 +817,92 @@ new GuiMouseEventCtrl(PaintBrushSoftnessSliderCtrlContainer,EditorGuiGroup) {
|
|||
};
|
||||
};
|
||||
|
||||
new GuiMouseEventCtrl(PaintBrushTileMinHeightContainer,EditorGuiGroup) {
|
||||
horizSizing = "right";
|
||||
vertSizing = "bottom";
|
||||
position = "0 0";
|
||||
extent = "1024 768";
|
||||
minExtent = "8 8";
|
||||
visible = "1";
|
||||
helpTag = "0";
|
||||
class = "EditorDropdownSliderContainer";
|
||||
|
||||
new GuiSliderCtrl() {
|
||||
canSaveDynamicFields = "0";
|
||||
internalName = "slider";
|
||||
isContainer = "0";
|
||||
Profile = "ToolsGuiSliderBoxProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "0 0";
|
||||
Extent = "112 20";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
AltCommand = "PaintBrushSlopeControl-->tileMinHeight.setValue(mFloatLength( ($ThisControl.getValue()), 1 )); ETerrainEditor.setTileLimitMinHeight(mFloatLength( ($ThisControl.getValue()), 1 ));TerrainPainterPlugin.validateTileMinHeight();";
|
||||
range = "0 2047";
|
||||
ticks = "0";
|
||||
value = "0";
|
||||
};
|
||||
};
|
||||
|
||||
function PaintBrushTileMinHeightContainer::onWake(%this)
|
||||
{
|
||||
%this-->slider.setValue(PaintBrushSlopeControl-->tileMinHeight.getText());
|
||||
%this-->slider.AltCommand = "PaintBrushSlopeControl-->tileMinHeight.setValue(mFloatLength( ($ThisControl.getValue()), 1 )); ETerrainEditor.setTileLimitMinHeight(mFloatLength( ($ThisControl.getValue()), 1 ));TerrainPainterPlugin.validateTileMinHeight();";
|
||||
|
||||
%pos = PaintBrushSlopeControl-->tileMinHeight.getGlobalPosition();
|
||||
|
||||
if (PaintBrushSlopeControlTE.isAwake())
|
||||
{
|
||||
%pos = PaintBrushSlopeControlTE-->tileMinHeight.getGlobalPosition();
|
||||
%this-->slider.AltCommand = "PaintBrushSlopeControlTE-->tileMinHeight.setValue(mFloatLength( ($ThisControl.getValue()), 1 )); ETerrainEditor.setTileLimitMinHeight(mFloatLength( ($ThisControl.getValue()), 1 ));TerrainPainterPlugin.validateTileMinHeight();";
|
||||
|
||||
}
|
||||
%this-->slider.setPositionGlobal(%pos.x, %pos.y + 25);
|
||||
}
|
||||
|
||||
new GuiMouseEventCtrl(PaintBrushTileMaxHeightContainer,EditorGuiGroup) {
|
||||
horizSizing = "right";
|
||||
vertSizing = "bottom";
|
||||
position = "0 0";
|
||||
extent = "1024 768";
|
||||
minExtent = "8 8";
|
||||
visible = "1";
|
||||
helpTag = "0";
|
||||
class = "EditorDropdownSliderContainer";
|
||||
|
||||
new GuiSliderCtrl() {
|
||||
canSaveDynamicFields = "0";
|
||||
internalName = "slider";
|
||||
isContainer = "0";
|
||||
Profile = "ToolsGuiSliderBoxProfile";
|
||||
HorizSizing = "right";
|
||||
VertSizing = "bottom";
|
||||
position = "0 0";
|
||||
Extent = "112 20";
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
AltCommand = "PaintBrushSlopeControl-->tileMaxHeight.setValue(mFloatLength( ($ThisControl.getValue()), 1 )); ETerrainEditor.setTileLimitMaxHeight(mFloatLength( ($ThisControl.getValue()), 1 ));TerrainPainterPlugin.validateTileMaxHeight();";
|
||||
range = "0 2047";
|
||||
ticks = "0";
|
||||
value = "0";
|
||||
};
|
||||
};
|
||||
|
||||
function PaintBrushTileMaxHeightContainer::onWake(%this)
|
||||
{
|
||||
%this-->slider.setValue(PaintBrushSlopeControl-->tileMaxHeight.getText());
|
||||
%this-->slider.AltCommand = "PaintBrushSlopeControl-->tileMaxHeight.setValue(mFloatLength( ($ThisControl.getValue()), 1 )); ETerrainEditor.setTileLimitMaxHeight(mFloatLength( ($ThisControl.getValue()), 1 ));TerrainPainterPlugin.validateTileMaxHeight();";
|
||||
|
||||
%pos = PaintBrushSlopeControl-->tileMaxHeight.getGlobalPosition();
|
||||
|
||||
if (PaintBrushSlopeControlTE.isAwake())
|
||||
{
|
||||
%pos = PaintBrushSlopeControlTE-->tileMaxHeight.getGlobalPosition();
|
||||
%this-->slider.AltCommand = "PaintBrushSlopeControlTE-->TileMaxHeight.setValue(mFloatLength( ($ThisControl.getValue()), 1 )); ETerrainEditor.setTileLimitMaxHeight(mFloatLength( ($ThisControl.getValue()), 1 ));TerrainPainterPlugin.validateTileMaxHeight();";
|
||||
|
||||
}
|
||||
%this-->slider.setPositionGlobal(%pos.x, %pos.y + 25);
|
||||
}
|
||||
|
|
@ -1431,6 +1431,20 @@ function TerrainPainterPlugin::validateSlopeMinAngle( %this )
|
|||
PaintBrushSlopeControlTE-->SlopeMinAngle.setText(%minval);
|
||||
}
|
||||
|
||||
function TerrainPainterPlugin::validateTileMinHeight( %this )
|
||||
{
|
||||
%maxval = ETerrainEditor.getTileLimitMinHeight();
|
||||
PaintBrushSlopeControl-->tileMinHeight.setText(%maxval);
|
||||
//PaintBrushSlopeControlTE-->tileMinHeight.setText(%maxval);
|
||||
}
|
||||
|
||||
function TerrainPainterPlugin::validateTileMaxHeight( %this )
|
||||
{
|
||||
%minval = ETerrainEditor.getTileLimitMaxHeight();
|
||||
PaintBrushSlopeControl-->tileMaxHeight.setText(%minval);
|
||||
//PaintBrushSlopeControlTE-->tileMaxHeight.setText(%minval);
|
||||
}
|
||||
|
||||
function TerrainPainterPlugin::keyboardModifyBrushSize( %this, %amt)
|
||||
{
|
||||
%val = PaintBrushSizeTextEditContainer-->textEdit.getText();
|
||||
|
|
|
|||
Loading…
Reference in a new issue