Files
my-project/Assets/Blocks/Scripts/BlockDefinition.cs
2026-04-17 02:14:56 +05:00

31 lines
1.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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 (Sprite или Texture2D)")]
public Sprite topTexture; // грань Y+
public Sprite bottomTexture; // грань Y-
public Sprite 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;
}