using UnityEngine;

/// <summary>
/// Описание одного типа блока.
/// Assets > Create > Blocks > Block Definition
/// </summary>
[CreateAssetMenu(fileName = "NewBlock", menuName = "Blocks/Block Definition")]
public class BlockDefinition : ScriptableObject
{
    [Header("Identity")]
    public string blockId;          // уникальный ID, например "grass", "dirt"
    public string displayName;

    [Header("Textures (128×128)")]
    public Texture2D topTexture;    // грань Y+
    public Texture2D bottomTexture; // грань Y-
    public Texture2D sideTexture;   // все 4 боковых грани

    [Header("Inventory Link")]
    [Tooltip("ItemData с типом Block, связанная с этим блоком")]
    public ItemData linkedItem;

    [Header("Properties")]
    public bool isSolid = true;     // false = стекло, вода — не кулируют соседей

    // Индексы в Texture2DArray — заполняются BlockRegistry.Initialise()
    [HideInInspector] public int topIndex    = -1;
    [HideInInspector] public int bottomIndex = -1;
    [HideInInspector] public int sideIndex   = -1;
}
