public static SlopesInfo ClampValues(SlopesInfo info) { info.SlopeLow = Mathf.Clamp(info.SlopeLow, 0f, info.SlopeHigh); info.SlopeHigh = Mathf.Clamp(info.SlopeHigh, info.SlopeLow, 90f); info.SlopeBlendLow = Mathf.Clamp(info.SlopeBlendLow, 0f, info.SlopeLow); info.SlopeBlendHigh = Mathf.Clamp(info.SlopeBlendHigh, info.SlopeHigh, 90f); return(info); }
public static void SlopeTools(LandLayers landLayer, int texture, ref SlopesInfo slopeInfo, int erase = 0, int topology = 0) { Elements.MiniBoldLabel(ToolTips.slopeToolsLabel); slopeInfo = ClampValues(slopeInfo); float tempSlopeLow = slopeInfo.SlopeLow; float tempSlopeHigh = slopeInfo.SlopeHigh; if ((int)landLayer < 2) { float tempSlopeBlendLow = slopeInfo.SlopeBlendLow; float tempSlopeBlendHigh = slopeInfo.SlopeBlendHigh; slopeInfo.BlendSlopes = Elements.ToolbarToggleMinMax(ToolTips.toggleBlend, ToolTips.rangeLow, ToolTips.rangeHigh, slopeInfo.BlendSlopes, ref tempSlopeLow, ref tempSlopeHigh, 0f, 90f); slopeInfo.SlopeLow = tempSlopeLow; slopeInfo.SlopeHigh = tempSlopeHigh; if (slopeInfo.BlendSlopes) { Elements.ToolbarMinMax(ToolTips.blendLow, ToolTips.blendHigh, ref tempSlopeBlendLow, ref tempSlopeBlendHigh, 0f, 90f); slopeInfo.SlopeBlendLow = tempSlopeBlendLow; slopeInfo.SlopeBlendHigh = tempSlopeBlendHigh; } Elements.BeginToolbarHorizontal(); if (Elements.ToolbarButton(ToolTips.paintSlopes)) { MapManager.PaintSlope(landLayer, slopeInfo.SlopeLow, slopeInfo.SlopeHigh, texture); } if (Elements.ToolbarButton(ToolTips.paintSlopesBlend)) { MapManager.PaintSlopeBlend(landLayer, slopeInfo.SlopeLow, slopeInfo.SlopeHigh, slopeInfo.SlopeBlendLow, slopeInfo.SlopeBlendHigh, texture); } Elements.EndToolbarHorizontal(); } else { Elements.ToolbarMinMax(ToolTips.rangeLow, ToolTips.rangeHigh, ref tempSlopeLow, ref tempSlopeHigh, 0f, 90f); slopeInfo.SlopeLow = tempSlopeLow; slopeInfo.SlopeHigh = tempSlopeHigh; Elements.BeginToolbarHorizontal(); if (Elements.ToolbarButton(ToolTips.paintSlopes)) { MapManager.PaintSlope(landLayer, slopeInfo.SlopeLow, slopeInfo.SlopeHigh, texture, topology); } if (Elements.ToolbarButton(ToolTips.eraseSlopes)) { MapManager.PaintSlope(landLayer, slopeInfo.SlopeLow, slopeInfo.SlopeHigh, erase, topology); } Elements.EndToolbarHorizontal(); } }