using System.Collections.Generic; using Robust.Shared.Maths; using Robust.Shared.Utility; namespace Robust.Shared.Map { /// /// The definition (template) for a grid tile. /// public interface ITileDefinition { /// /// The numeric tile ID used to refer to this tile inside the map datastructure. /// ushort TileId { get; } /// /// The name of the definition. This is user facing. /// string Name { get; } /// /// Internal name of the definition. /// string ID { get; } /// /// The path of the sprite to draw. /// ResPath? Sprite { get; } /// /// Possible sprites to use if we're neighboring another tile. /// Dictionary EdgeSprites { get; } /// /// Physics objects that are interacting on this tile are slowed down by this float. /// float Friction { get; } /// /// Number of variants this tile has. ALSO DETERMINES THE EXPECTED INPUT TEXTURE SIZE. /// byte Variants { get; } /// /// Assign a new value to , used when registering the tile definition. /// /// The new tile ID for this tile definition. void AssignTileId(ushort id); } }