Add ITemplatedTerrainInfo interface.

This commit is contained in:
Paul Chote
2020-10-14 19:52:00 +01:00
committed by reaperrr
parent be2ca77acf
commit 2782620081
9 changed files with 73 additions and 37 deletions

View File

@@ -35,6 +35,12 @@ namespace OpenRA
float MaxHeightColorBrightness { get; }
}
public interface ITemplatedTerrainInfo : ITerrainInfo
{
string[] EditorTemplateOrder { get; }
IReadOnlyDictionary<ushort, TerrainTemplateInfo> Templates { get; }
}
public interface ITerrainInfoNotifyMapCreated : ITerrainInfo
{
void MapCreated(Map map);
@@ -146,7 +152,7 @@ namespace OpenRA
}
}
public class TileSet : ITerrainInfo, ITerrainInfoNotifyMapCreated
public class TileSet : ITemplatedTerrainInfo, ITerrainInfoNotifyMapCreated
{
public const string TerrainPaletteInternalName = "terrain";
@@ -277,6 +283,9 @@ namespace OpenRA
float ITerrainInfo.MaxHeightColorBrightness { get { return MaxHeightColorBrightness; } }
TerrainTile ITerrainInfo.DefaultTerrainTile { get { return new TerrainTile(Templates.First().Key, 0); } }
string[] ITemplatedTerrainInfo.EditorTemplateOrder { get { return EditorTemplateOrder; } }
IReadOnlyDictionary<ushort, TerrainTemplateInfo> ITemplatedTerrainInfo.Templates { get { return Templates; } }
void ITerrainInfoNotifyMapCreated.MapCreated(Map map)
{
// Randomize PickAny tile variants