|
|
@ -25,7 +25,7 @@ public partial class Terrain |
|
|
|
if (!pressed) return; |
|
|
|
if (!pressed) return; |
|
|
|
|
|
|
|
|
|
|
|
const float AdjustHeight = 0.5f; |
|
|
|
const float AdjustHeight = 0.5f; |
|
|
|
var value = (wheel == MouseButton.WheelUp) |
|
|
|
var amount = (wheel == MouseButton.WheelUp) |
|
|
|
? AdjustHeight : -AdjustHeight; |
|
|
|
? AdjustHeight : -AdjustHeight; |
|
|
|
|
|
|
|
|
|
|
|
var selection = TileRegion.From(_selection.Value); |
|
|
|
var selection = TileRegion.From(_selection.Value); |
|
|
@ -41,7 +41,7 @@ public partial class Terrain |
|
|
|
var outerHeight = GetCornerHeights(outerPos)[outerCorner]; |
|
|
|
var outerHeight = GetCornerHeights(outerPos)[outerCorner]; |
|
|
|
|
|
|
|
|
|
|
|
if (IsEqualApprox(outerHeight, innerHeight)) |
|
|
|
if (IsEqualApprox(outerHeight, innerHeight)) |
|
|
|
SetCornerHeight(outerPos, outerCorner, innerHeight + value); |
|
|
|
SetCornerHeight(outerPos, outerCorner, innerHeight + amount); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Raise connected sides. |
|
|
|
// Raise connected sides. |
|
|
@ -58,12 +58,13 @@ public partial class Terrain |
|
|
|
var current = outerHeights; |
|
|
|
var current = outerHeights; |
|
|
|
var changed = false; |
|
|
|
var changed = false; |
|
|
|
|
|
|
|
|
|
|
|
foreach (var (innerCorner, outerCorner) in new[]{ (innerCorner1, outerCorner1), (innerCorner2, outerCorner2) }) { |
|
|
|
var matchingCorners = new[]{ (innerCorner1, outerCorner1), (innerCorner2, outerCorner2) }; |
|
|
|
|
|
|
|
foreach (var (innerCorner, outerCorner) in matchingCorners) { |
|
|
|
var innerHeight = innerHeights[innerCorner]; |
|
|
|
var innerHeight = innerHeights[innerCorner]; |
|
|
|
var outerHeight = outerHeights[outerCorner]; |
|
|
|
var outerHeight = outerHeights[outerCorner]; |
|
|
|
|
|
|
|
|
|
|
|
if (IsEqualApprox(outerHeight, innerHeight)) { |
|
|
|
if (IsEqualApprox(outerHeight, innerHeight)) { |
|
|
|
current = current.With(outerCorner, innerHeight + value); |
|
|
|
current = current.With(outerCorner, innerHeight + amount); |
|
|
|
changed = true; |
|
|
|
changed = true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -74,7 +75,7 @@ public partial class Terrain |
|
|
|
|
|
|
|
|
|
|
|
// Raise selected tiles themselves. |
|
|
|
// Raise selected tiles themselves. |
|
|
|
foreach (var tile in selection.GetAllTiles()) |
|
|
|
foreach (var tile in selection.GetAllTiles()) |
|
|
|
AdjustTileHeight(tile, value); |
|
|
|
AdjustTileHeight(tile, amount); |
|
|
|
|
|
|
|
|
|
|
|
UpdateMeshAndShape(); |
|
|
|
UpdateMeshAndShape(); |
|
|
|
NotifyPropertyListChanged(); |
|
|
|
NotifyPropertyListChanged(); |
|
|
|