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);
}
}