mirror of
https://github.com/kwsch/NHSE.git
synced 2026-08-27 21:34:15 -05:00
@@ -74,5 +74,25 @@ public void CopyRoadFrom(TerrainTile tile)
|
||||
VariationRoad = tile.VariationRoad;
|
||||
LandMakingAngleRoad = tile.LandMakingAngleRoad;
|
||||
}
|
||||
|
||||
public bool Rotate() => UnitModelRoad != 0 ? RotateRoad() : RotateTerrain();
|
||||
|
||||
private bool RotateTerrain()
|
||||
{
|
||||
if (UnitModel == TerrainUnitModel.Base)
|
||||
return false;
|
||||
var rot = LandMakingAngle;
|
||||
rot = (ushort)((rot + 1) & 3);
|
||||
LandMakingAngle = rot;
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool RotateRoad()
|
||||
{
|
||||
var rot = LandMakingAngleRoad;
|
||||
rot = (ushort) ((rot + 1) & 3);
|
||||
LandMakingAngleRoad = rot;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -204,6 +204,9 @@ private void OmniTileTerrain(TerrainTile tile)
|
||||
default:
|
||||
ViewTile(tile);
|
||||
return;
|
||||
case Keys.Shift | Keys.Control:
|
||||
RotateTile(tile);
|
||||
return;
|
||||
case Keys.Shift:
|
||||
SetTile(tile);
|
||||
return;
|
||||
@@ -358,6 +361,17 @@ private void SetTile(Item tile, int x, int y)
|
||||
ReloadItems();
|
||||
}
|
||||
|
||||
private void RotateTile(TerrainTile tile)
|
||||
{
|
||||
bool rotated = tile.Rotate();
|
||||
if (!rotated)
|
||||
{
|
||||
System.Media.SystemSounds.Asterisk.Play();
|
||||
return;
|
||||
}
|
||||
ReloadBuildingsTerrain();
|
||||
}
|
||||
|
||||
private void SetTile(TerrainTile tile)
|
||||
{
|
||||
var pgt = (TerrainTile)PG_TerrainTile.SelectedObject;
|
||||
|
||||
Reference in New Issue
Block a user