namespace Decimation.Lib.Items
{
    public abstract class DecimationPlaceableItem : DecimationItem
    {
        protected abstract int Tile { get; }

        protected abstract void InitPlaceable();

        protected sealed override void Init()
        {
            item.width = 12;
            item.height = 12;
            item.consumable = true;
            item.useTime = 15;
            item.useAnimation = 15;
            item.useStyle = 1;
            item.consumable = true;

            this.item.useTurn = true;

            InitPlaceable();

            this.item.createTile = this.Tile;
        }
    }
}