mirror of
https://github.com/kwsch/NHSE.git
synced 2026-04-24 15:18:33 -05:00
parent
71be1fc419
commit
d586085b18
|
|
@ -10,7 +10,7 @@ public static class TerrainTileColor
|
|||
public static Color GetTileColor(TerrainTile tile)
|
||||
{
|
||||
if (tile.UnitModelRoad.IsRoad())
|
||||
return Color.RosyBrown;
|
||||
return GetRoadColor(tile.UnitModelRoad);
|
||||
var baseColor = GetTileDefaultColor(tile.UnitModel);
|
||||
if (tile.Elevation == 0)
|
||||
return baseColor;
|
||||
|
|
@ -18,6 +18,25 @@ public static Color GetTileColor(TerrainTile tile)
|
|||
return ColorUtil.Blend(baseColor, Color.White, 1.4d / (tile.Elevation + 1));
|
||||
}
|
||||
|
||||
private static Color GetRoadColor(TerrainUnitModel mdl)
|
||||
{
|
||||
if (mdl.IsRoadBrick())
|
||||
return Color.Firebrick;
|
||||
if (mdl.IsRoadDarkSoil())
|
||||
return Color.SaddleBrown;
|
||||
if (mdl.IsRoadSoil())
|
||||
return Color.Peru;
|
||||
if (mdl.IsRoadStone())
|
||||
return Color.DarkGray;
|
||||
if (mdl.IsRoadPattern())
|
||||
return Color.Ivory;
|
||||
if (mdl.IsRoadTile())
|
||||
return Color.SteelBlue;
|
||||
if (mdl.IsRoadSand())
|
||||
return Color.SandyBrown;
|
||||
return Color.BurlyWood;
|
||||
}
|
||||
|
||||
private static readonly Color CliffBase = ColorUtil.Blend(Color.ForestGreen, Color.Black, 0.6d);
|
||||
|
||||
private static Color GetTileDefaultColor(TerrainUnitModel mdl)
|
||||
|
|
|
|||
|
|
@ -255,6 +255,15 @@ public enum TerrainUnitModel : ushort
|
|||
public static class TerrainUnitModelExtensions
|
||||
{
|
||||
public static bool IsRoad(this TerrainUnitModel t) => t >= RoadBrick0A || (RoadSoil0A <= t && t <= RoadStone8A);
|
||||
public static bool IsRoadWood(this TerrainUnitModel t) => RoadWood0A <= t && t <= RoadWood8A;
|
||||
public static bool IsRoadTile(this TerrainUnitModel t) => RoadTile0A <= t && t <= RoadTile8A;
|
||||
public static bool IsRoadSand(this TerrainUnitModel t) => RoadSand0A <= t && t <= RoadSand8A;
|
||||
public static bool IsRoadPattern(this TerrainUnitModel t) => RoadFanPattern0A <= t && t <= RoadFanPattern8A;
|
||||
public static bool IsRoadDarkSoil(this TerrainUnitModel t) => RoadDarkSoil0A <= t && t <= RoadDarkSoil8A;
|
||||
public static bool IsRoadBrick(this TerrainUnitModel t) => RoadBrick0A <= t && t <= RoadBrick8A;
|
||||
public static bool IsRoadStone(this TerrainUnitModel t) => RoadStone0A <= t && t <= RoadStone8A;
|
||||
public static bool IsRoadSoil(this TerrainUnitModel t) => RoadSoil0A <= t && t <= RoadSoil8A;
|
||||
|
||||
public static bool IsFall(this TerrainUnitModel t) => (Fall101 <= t && t <= Fall404) || (Fall103 <= t && t <= Fall424);
|
||||
public static bool IsCliff(this TerrainUnitModel t) => (Cliff0A <= t && t <= Cliff8) || (t == Cliff2B);
|
||||
public static bool IsRiver(this TerrainUnitModel t) => River0A <= t && t <= River8A;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user