31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
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;
|
||
}
|