К содержимому

SusInventoryCell

SusInventoryCell

Ячейка сумки — шахматный even/odd art, occupied fill, подсветка drop-target. Собственного click API нет (клики пустых ячеек всплывают на grid).

Пакет

SusGame · Инвентарь (коммерческий)

Открыть в песочнице

SusGame · Inventory

Свойства

ИмяТипПо умолчанию
OccupiedProp<bool>falsev-model
IsEvenProp<bool>falsev-model
HighlightedProp<int>0v-model

Слоты

Слотов нет.

События

Публичных событий нет.

Хуки стиля

Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:

  • sus-inventory-cell
  • sus-inventory-cell--even
  • sus-inventory-cell--highlight-candidate
  • sus-inventory-cell--highlight-invalid
  • sus-inventory-cell--highlight-valid
  • sus-inventory-cell--occupied
  • sus-inventory-cell--odd

Использование

Создаётся SusInventoryGrid во время Refresh — предпочитайте grid / сессию. Отдельно — только для демо chrome:

csharp
var cell = new SusInventoryCell();
cell.CellX = 0;
cell.CellY = 1;
cell.IsEven.Value = true;
cell.Occupied.Value = false;
cell.Highlighted.Value = 0; // 0 none · 1 valid · 2 invalid · 3 candidate
xml
<template>
  <sus:SusInventoryCell :Occupied="Occ.Value"
                        :IsEven="Even.Value"
                        :Highlighted="Hl.Value" />
</template>

<script>
public Prop<bool> Occ = new(false);
public Prop<bool> Even = new(true);
public Prop<int> Hl = new(0);
</script>
Prop / APIРоль
OccupiedСплошная заливка занятой ячейки (предмет лежит поверх)
IsEvenШахматная плитка (--even / --odd)
HighlightedГраница превью drop (0…3)
CellX / CellYКоординаты в сетке (задаёт родитель)

Заметки

  • Drop-подсказки — только по границе, заливка ячейки под предметами никогда не тонируется (контракт USS).
  • Клик по пустой ячейке → родительский SusInventoryGrid.OnEmptyCellClicked(x, y) (click-to-place).
  • ShowCellArt=false на shell отключает демо-текстуры плиток; ячейки откатываются к сплошным токенам.