Перейти к содержанию

Карта файлов

Эта страница является полным справочником по коду пакета.

Она специально длиннее других страниц документации: цель здесь не обучить системе с нуля, а помочь быстро найти нужный runtime-, editor- или примерный тип без долгого просмотра исходников.

В таблицах ниже перечислены все script-файлы и указано назначение основных классов, интерфейсов, enum'ов и служебных типов, объявленных внутри.


Как пользоваться этой страницей

  • Начинайте с подсистемы, которая ближе всего к вашей задаче.
  • Открывайте файл из первого столбца.
  • По столбцу Types быстро проверяйте, что вы попали в нужную точку расширения.
  • Скрипты из Examples/ воспринимайте как образцы интеграции, а не как единственно правильную архитектуру.

Быстрая карта

Если вы ищете... Смотрите
Главный компонент inventory UniversalInventory, BaseSlot, UniversalSlot
Связь UI с вашими данными InventoryDataBindingBase и один из list / slot-indexed / mapped bindings
Логику переноса InventoryDropProcessor, InventoryTransferService, IStrategy
Правила допуска IDragRule, BuiltInRules, RuleEvaluationService
Фигурные предметы PlacementInventoryDataBinding, IPlacementInventory, IPlacementShape
Примеры интеграции страницы Demo1-Demo6 в разделе Примеры

Главные точки входа

Файл Types Назначение
Scripts/DragAndDropManager.cs DragAndDropManager Глобальный менеджер активного drag-and-drop в сцене. Отслеживает lifecycle перетаскивания, текущий context и верхнеуровневую координацию.
Scripts/Inventories/UniversalInventory.cs UniversalInventory, ItemBehaviorType, SlotManagementType Главный компонент инвентаря. Владеет слотами, прямыми [SerializeReference] полями стратегий, наборами правил и inventory-level поведением переноса.
Scripts/Slots/BaseSlot.cs BaseSlot Абстрактная базовая сущность слота, которую используют инвентари и движок переноса.
Scripts/Slots/UniversalSlot.cs UniversalSlot Стандартная конкретная реализация слота, используемая пакетом.
Scripts/DataBinding/InventoryDataBindingBase.cs InventoryDataBindingBase Базовый binding, связывающий UniversalInventory с вашим источником игровых данных.

Полный список файлов по подсистемам

Базовые модели и контракты

Файл Types Назначение
Scripts/Core/Contracts/IItemAdapter.cs IItemAdapter Минимальное представление предмета, которое хранится в слотах и передаётся через UI.
Scripts/Core/Contracts/IDescribable.cs IDescribable Опциональный интерфейс для адаптеров, которые отдают расширенное описание для UI, например tooltip.
Scripts/Core/Contracts/IFilterable.cs IFilterable, ISortable Опциональные интерфейсы для систем фильтрации и сортировки.
Scripts/Core/Contracts/IStackSizeLimitable.cs IStackSizeLimitable Опциональное переопределение лимита стака на уровне конкретного предмета.
Scripts/Core/Models/ItemStack.cs ItemStack Runtime-модель стака, используемая слотами, переносом и swap.
Scripts/Core/Models/DragContext.cs DragContext Контекст одного drag-оператора: source entries, target info и флаги текущей операции.
Scripts/Core/Models/ActionResult.cs ActionResult Универсальный result-объект для action-style API.
Scripts/Core/Models/DropResult.cs DropResult Result-объект, возвращаемый обработчиками drop.
Scripts/Core/Models/InventoryEvents.cs InventoryItemEventContext, InventorySwapContext Payload-типы для событий переноса и swap.
Scripts/Slots/SlotHoverEventArgs.cs SlotHoverEventArgs Данные hover-события слота для UI и связанных подсистем.

Drop и policy system

Файл Types Назначение
Scripts/Core/Contracts/IDropTarget.cs IDropTarget Контракт для любого объекта, который может принимать drop.
Scripts/Core/Contracts/IDropProcessor.cs IDropProcessor Контракт для объектов, умеющих обрабатывать попытку drop.
Scripts/Core/Contracts/IDropRequestProcessor.cs IDropRequestProcessor Специализированный интерфейс для request-driven drop processing.
Scripts/Core/Drop/DropAreaBase.cs DropAreaBase Базовый класс для не-слотовых drop target'ов, например inventory area или world drop zone.
Scripts/UI/InventoryDropArea.cs InventoryDropArea Стандартная drop-area инвентаря на основе DropAreaBase.
Scripts/Core/Drop/DropPolicy.cs BlockedTargetResolutionKind, PartialTransferMode, ResolvedDropPolicy, DropRequestPolicy, DragRequestPolicy Модели, описывающие поведение drop: отказ, поиск другого слота, swap и частичный перенос.
Scripts/Core/Drop/DropPolicySettings.cs DropPolicySettings Настройки поведения при занятой цели, поиска другого слота и частичного переноса.
Scripts/Core/Drop/DropRequestPolicySettings.cs DropRequestPolicySettings Сериализуемые настройки для временного переопределения drop behavior в actions и triggers.
Scripts/Core/Drop/DragRequestPolicySettings.cs DragRequestPolicySettings Сериализуемые настройки для временного переопределения количества предметов при старте drag.
Scripts/Inventories/IDropPolicyProvider.cs IDropPolicyProvider Интерфейс для объектов, которые отдают активные настройки drop policy.
Scripts/Inventories/InventoryAcceptanceRequest.cs InventoryAcceptanceRequest Модель запроса на проверку, может ли инвентарь принять входящий предмет или стек.
Scripts/Inventories/InventoryDropProcessor.cs InventoryDropProcessor Точка входа из UI: определяет активную drop policy и запускает перенос.

Слой data binding

Файл Types Назначение
Scripts/DataBinding/ListInventoryDataBinding.cs ListInventoryDataBinding<TData, TAdapter> Базовый binding для инвентарей, построенных на списке.
Scripts/DataBinding/MappedSlotInventoryDataBinding.cs MappedSlotInventoryDataBinding<TData, TAdapter> Базовый binding для именованных или фиксированных semantic slots, например экипировки.
Scripts/DataBinding/SlotIndexedInventoryDataBinding.cs SlotIndexedInventoryDataBinding<TData, TAdapter> Базовый binding для slot-indexed данных; читает и записывает полный список элементов/адаптеров в каждом слоте.
Scripts/DataBinding/GameManagerExample.cs GameManagerExample, ItemData Небольшой пример, показывающий, как внешний manager может быть источником данных для binding'а.

Перенос и инвентари

Файл Types Назначение
Scripts/Inventories/IInventory.cs IInventory Базовый контракт инвентаря, который используют движок переноса, validator и сервисы.
Scripts/Inventories/ITransferDomainHandler.cs ITransferDomainHandler Синхронные бизнес-проверки перед фиксацией переноса и hook после успеха.
Scripts/Inventories/IAsyncTransferDomainHandler.cs IAsyncTransferDomainHandler Асинхронная проверка перед переносом, например серверная валидация.
Scripts/Inventories/IItemAdapterConverter.cs IItemAdapterConverter Конвертирует item adapter при переносе между инвентарями с разными моделями данных.
Scripts/Inventories/IdentityItemAdapterConverter.cs IdentityItemAdapterConverter Pass-through converter для случаев, когда конвертация не нужна.
Scripts/Inventories/TransferKind.cs TransferKind Enum, описывающий тип переноса.
Scripts/Inventories/TransferDomainContext.cs TransferDomainContext Контекст, который передаётся в domain handlers.
Scripts/Inventories/InventoryTransferEngine.cs InventoryTransferService, TransferEntryRequest Сервис переноса: обрабатывает записи по очереди, поддерживает откат неудачной записи, swap и автоматический поиск места.
Scripts/Inventories/InventoryTransferService.cs TransferProbe Совещательный probe-результат для preview и acceptance.
Scripts/Inventories/PlacementCandidate.cs PlacementCandidate, PlacementCandidateKind Описание возможного размещения: объединить стек, занять существующий слот или создать динамический слот.
Scripts/Inventories/PlacementCandidateOrderer.cs placement candidate orderers Сортировка вариантов при автоматическом поиске места.
Scripts/Inventories/IPlacementGeometry.cs IPlacementGeometry Контракт геометрии фигурных предметов: anchor, footprint, занятость и покрытые слоты.
Scripts/Inventories/InventorySnapshot.cs InventorySnapshot, IInventorySnapshotProvider Снимок состояния инвентаря для безопасного чтения, preview, сортировки и отката неудачных операций.
Scripts/Inventories/InventorySnapshotUtility.cs InventorySnapshotUtility Вспомогательные методы для построения и чтения снимков состояния.
Scripts/Inventories/AutoTransferService.cs AutoTransferService Сервис для quick-transfer поведения между инвентарями.
Scripts/Inventories/TransferItemConversionUtility.cs TransferItemConversionUtility Внутренний utility, который последовательно применяет конвертацию adapter'ов в preview и execution.

Стратегии инвентаря

Файл Types Назначение
Scripts/Inventories/Strategies/IStrategy.cs IStrategy Read-only контракт: проверка explicit target, enumeration automatic candidates и capacity.
Scripts/Inventories/Strategies/InventoryStrategyBase.cs InventoryStrategyBase Базовый класс для read-only стратегий, выдающих кандидатов.
Scripts/Inventories/Strategies/StackBasedInventoryStrategyBase.cs StackBasedInventoryStrategyBase Общая stack-aware база с лимитом стека и поддержкой per-item override.
Scripts/Inventories/Strategies/UniqueItemStrategy.cs UniqueItemStrategy Стратегия, в которой каждый слот хранит отдельный предмет или стек без merge-логики.
Scripts/Inventories/Strategies/StackableItemStrategy.cs StackableItemStrategy Стратегия для обычного merge-поведения stackable предметов.
Scripts/Inventories/Strategies/SeparableStacksStrategy.cs SeparableStacksStrategy Стратегия для стеков, поддерживающих split и частичные переносы.
Scripts/Inventories/Strategies/SlotManagementSettingsBase.cs SlotManagementSettingsBase Базовый класс для режимов жизненного цикла слотов, выбираемых прямо в UniversalInventory.
Scripts/Inventories/Strategies/FixedSlotManagementSettings.cs FixedSlotManagementSettings Fixed-режим жизненного цикла слотов.
Scripts/Inventories/Strategies/DynamicSlotManagementSettings.cs DynamicSlotManagementSettings Dynamic-режим с поддержкой свободных слотов и trimming hooks.
Scripts/Inventories/Strategies/StrategyConfiguration.cs strategy configuration types Текущая конфигурация стратегии, управления слотами и правил объединения стеков.

Rule system

Файл Types Назначение
Scripts/Rules/IDragRule.cs RuleResult, IDragRule, IGlobalRule, IInventoryRule, ISlotRule, DragRuleBase Базовые rule-контракты и result-тип для валидации drag start и drop.
Scripts/Rules/RuleEvaluationService.cs RuleEvaluationService High-level сервис, который прогоняет нужные rule validators для одного drag entry.
Scripts/Rules/RuleValidator.cs RuleValidator<TRule>, GlobalRuleValidator, InventoryRuleValidator, SlotRuleValidator Helper'ы для хранения и выполнения правил в нужном scope.
Scripts/Rules/CompositeRule.cs CompositeRule<TRule>, CompositeGlobalRule, CompositeInventoryRule, CompositeSlotRule, CompositeRuleMode Composite-правила, объединяющие несколько child rules через AND или OR.
Scripts/Rules/BuiltInRules.cs SameSlotRule, SameInventoryRule, ItemIdFilterRule, UniqueItemLimitRule, SlotLockRule, CustomRule Встроенные rule-реализации для типовых ограничений drag-and-drop.
Scripts/Rules/RuleNameFilter.cs RuleNameFilter, NameFilterType Правило, фильтрующее по имени/паттерну rule и удобное для selective allow/deny поведения.
Scripts/Rules/Presets/RulePreset.cs RulePreset<TRule> Generic ScriptableObject-контейнер для переиспользуемых наборов правил.
Scripts/Rules/Presets/GlobalRulePreset.cs GlobalRulePreset Preset-asset для global rules.
Scripts/Rules/Presets/InventoryRulePreset.cs InventoryRulePreset Preset-asset для inventory-level rules.
Scripts/Rules/Presets/SlotRulePreset.cs SlotRulePreset Preset-asset для slot-level rules.

Interaction и input

Файл Types Назначение
Scripts/Interaction/InteractionBindingsProfile.cs InteractionBindingsProfile ScriptableObject-профиль, хранящий input bindings для drag, click, hold, context и selection actions.
Scripts/Interaction/InputEventRouter.cs InputEventRouter, RuntimeState Центральный runtime-router, который сопоставляет bindings и переводит input в slot/inventory actions.
Scripts/Interaction/SlotInputAdapter.cs SlotInputAdapter UI-адаптер на визуале слота, чтобы он участвовал в navigation, pointer и routed input.
Scripts/Interaction/FocusSource.cs FocusSource Enum, показывающий источник текущего focus.
Scripts/Interaction/InputModalityTracker.cs InputModalityTracker, InputModality Отслеживает, использует ли игрок pointer- или navigation-style input в legacy и Input System проектах.
Scripts/Interaction/InventoryExtraInteractionBinder.cs InventoryExtraInteractionBinder Helper для привязки дополнительных inventory-level действий и интеграций поверх базового slot input.
Scripts/Interaction/HoldDragSettings.cs HoldDragSettings ScriptableObject с настройками таймингов и порогов hold-to-drag.
Scripts/Interaction/HoldDragPreviewDisplay.cs HoldDragPreviewDisplay Компонент визуальной обратной связи для состояния подготовки hold-drag.
Scripts/Interaction/HoldDragActions.cs StartHoldCountAction, StartHoldDragAction Slot actions, связанные с hold counting и запуском drag по удержанию.
Scripts/Interaction/SlotInteractionActions.cs SlotInteractionAction, AssetSafeSlotInteractionAction, StartDragAction, CompleteDragAction, SplitDropAction, RotateDragAction, CancelDragAction, InventorySlotAction Основные action-типы, которые input router вызывает для slot/inventory interaction flows.

Модели input bindings

Файл Types Назначение
Scripts/Interaction/Bindings/PointerBinding.cs PointerBinding Runtime-описание pointer binding.
Scripts/Interaction/Bindings/KeyBinding.cs KeyBinding Runtime-описание legacy key binding.
Scripts/Interaction/Bindings/LegacyInputActionBinding.cs LegacyInputActionBinding Runtime-описание binding старого Input Manager по имени кнопки.
Scripts/Interaction/Bindings/InputActionBinding.cs InputActionBinding Runtime-описание binding для нового Input System.
Scripts/Interaction/Bindings/AssetPointerBinding.cs AssetPointerBinding Сериализуемая profile-версия pointer binding.
Scripts/Interaction/Bindings/AssetKeyBinding.cs AssetKeyBinding Сериализуемая profile-версия legacy key binding.
Scripts/Interaction/Bindings/AssetLegacyInputActionBinding.cs AssetLegacyInputActionBinding Сериализуемая profile-версия binding старого Input Manager по имени кнопки.
Scripts/Interaction/Bindings/AssetInputActionBinding.cs AssetInputActionBinding Сериализуемая profile-версия Input System binding.
Scripts/Interaction/Bindings/ModifierKeyHelper.cs ModifierKeyHelper Helper для проверки modifier keys в процессе оценки bindings.

Actions

Файл Types Назначение
Scripts/Actions/InventoryActionBase.cs InventoryActionBase Базовый класс inventory-wide действий, которые можно вызывать через bindings.
Scripts/Actions/Enums.cs PointerTriggerPhase, TriggerPhaseEnum, ModifierKey, KeyTriggerPhase Общие enum'ы для конфигурации bindings и actions.
Scripts/Actions/Inheritors/AutoTransferAction.cs AutoTransferAction Inventory action, вызывающий quick transfer поведение.
Scripts/Actions/Inheritors/SortInventoryAction.cs SortInventoryAction Inventory action для физической сортировки предметов через ISlotSorter.

Система выделения

Файл Types Назначение
Scripts/Selection/SelectionContext.cs SelectionContext Runtime-контейнер с текущим состоянием выделения и вспомогательными данными.
Scripts/Selection/SelectionManager.cs SelectionManager Глобальный координатор selection-системы для multi-select и multi-drag.
Scripts/Selection/SlotSelectionView.cs SlotSelectionView Визуальный компонент, отображающий selection state на слоте.
Scripts/Selection/SelectionSlotAction.cs SelectionSlotAction Slot action, встраивающий selection-поведение в input pipeline.
Scripts/Selection/StartMultiDragAction.cs StartMultiDragAction Slot action, запускающий drag из текущего selection.
Scripts/Selection/Operations/SelectionOperationBase.cs SelectionOperationBase Базовый класс переиспользуемых selection-команд.
Scripts/Selection/Operations/ClearSelectionOperation.cs ClearSelectionOperation Очищает текущее выделение.
Scripts/Selection/Operations/ClearAndSelectOperation.cs ClearAndSelectOperation Сбрасывает прежний selection и выбирает новый слот/набор.
Scripts/Selection/Operations/SelectSlotOperation.cs SelectSlotOperation Выбирает конкретный слот.
Scripts/Selection/Operations/ToggleFilledSlotOperation.cs ToggleFilledSlotOperation Переключает состояние выделения у одного непустого слота.
Scripts/Selection/Operations/RangeSelectOperation.cs RangeSelectOperation Выделяет диапазон слотов.
Scripts/Selection/Operations/SelectAllOperation.cs SelectAllOperation Выделяет все доступные/подходящие слоты.
Scripts/Selection/Operations/SelectByConditionOperation.cs SelectByConditionOperation Базовый класс для массового выделения по условию.
Scripts/Selection/Triggers/SelectionTriggerBase.cs SelectionTriggerBase Базовый класс trigger-компонентов, которые запускают selection operations.
Scripts/Selection/Triggers/ButtonSelectionTrigger.cs ButtonSelectionTrigger UI-button trigger для selection operation.
Scripts/Selection/Triggers/InputActionSelectionTrigger.cs InputActionSelectionTrigger, TriggerPhase Trigger для selection operation через новый Input System.

Tooltip system

Файл Types Назначение
Scripts/UI/Tooltip/BaseTooltipView.cs BaseTooltipView Базовый класс для реализации tooltip UI.
Scripts/UI/Tooltip/DefaultTooltipView.cs DefaultTooltipView Готовая реализация tooltip view, поставляемая с пакетом.
Scripts/UI/Tooltip/TooltipManager.cs TooltipManager, TooltipAnchor Глобальный контроллер tooltip'ов: позиционирование, открытие и скрытие.

Drag visual и layout

Файл Types Назначение
Scripts/UI/IDragVisual.cs IDragVisual Интерфейс для реализаций drag visual.
Scripts/UI/DefaultDragVisual.cs DefaultDragVisual Базовая реализация drag visual.
Scripts/UI/FancyDragVisual.cs FancyDragVisual Более выразительный drag visual с расширенной презентацией/анимацией.
Scripts/UI/DragVisualPresenter.cs DragVisualPresenter, VisualInstance Глобальный presenter, который создаёт и обновляет активный drag visual.
Scripts/UI/InventoryDragVisualBinder.cs InventoryDragVisualBinder Связывает inventory или сцену с выбранной конфигурацией drag visual.
Scripts/UI/FreeFormSlotLayout.cs FreeFormSlotLayout Helper для инвентарей, где слоты расположены вручную или не по стандартной grid-схеме.

Анимация auto transfer

Файл Types Назначение
Scripts/Core/AutoTransfer/AutoTransferAnimationStrategy.cs AutoTransferAnimationStrategy Базовый класс стратегий анимации quick transfer.
Scripts/Core/AutoTransfer/TweenAutoTransferAnimation.cs TweenAutoTransferAnimation Tween-based стратегия анимации для auto-transfer эффекта.
Scripts/Core/AutoTransfer/AutoTransferContext.cs InventoryList Вспомогательная модель, используемая в quick-transfer анимации и related flows.

Context menu system

Файл Types Назначение
Scripts/ContextMenu/IContextMenuEntry.cs IContextMenuEntry Контракт для любого объекта, который может появиться как пункт context menu.
Scripts/ContextMenu/ContextMenuContext.cs context menu context types Payload-объект, описывающий slot/inventory/item, для которого строится меню.
Scripts/ContextMenu/ContextMenuEntryDefinitionSO.cs ContextMenuEntryDefinitionSO Базовый ScriptableObject для переиспользуемых описаний пунктов меню.
Scripts/ContextMenu/ContextMenuSceneEntryBase.cs ContextMenuSceneEntryBase Базовый scene-object класс для menu entries, которым нужны runtime scene references.
Scripts/ContextMenu/ContextMenuPreset.cs ContextMenuPreset Asset, группирующий несколько menu entries в переиспользуемый preset.
Scripts/ContextMenu/ContextMenuManager.cs ContextMenuManager Глобальный менеджер, который строит и открывает context menu.
Scripts/ContextMenu/ContextMenuBinder.cs ContextMenuBinder Привязывает menu presets/entries к inventory или scene object.
Scripts/ContextMenu/InventoryContextMenuViewBinder.cs InventoryContextMenuViewBinder Соединяет инвентарь с конкретной реализацией context menu view.
Scripts/ContextMenu/ShowContextMenuAction.cs ShowContextMenuAction Slot action, который запрашивает меню для текущего slot/context.
Scripts/ContextMenu/UI/ContextMenuViewBase.cs ContextMenuViewBase Базовый класс для context menu UI.
Scripts/ContextMenu/UI/UniversalContextMenuView.cs UniversalContextMenuView Стандартная реализация context menu UI из пакета.
Scripts/ContextMenu/UI/ContextMenuEntryView.cs ContextMenuEntryView UI-элемент одной строки/кнопки пункта меню.
Scripts/ContextMenu/BuiltInEntries/SortContextMenuEntrySO.cs SortContextMenuEntrySO Встроенный пункт меню, запускающий сортировку инвентаря.
Scripts/ContextMenu/BuiltInEntries/DebugContextMenuEntrySO.cs DebugContextMenuEntrySO Встроенный диагностический/debug-пункт меню.

Filter и sort UI

Файл Types Назначение
Scripts/Filter/ISlotFilter.cs ISlotFilter, ISlotSorter, FilterPredicate, SortComparison Базовые интерфейсы и делегаты для фильтрации и сортировки.
Scripts/Filter/FilterContext.cs FilterContext Контекст, передаваемый в фильтры и сортировщики (Slot, Inventory, AllSlots, SlotIndex).
Scripts/Filter/FilterDisplayMode.cs FilterDisplayMode Enum: Hide, Dim, MoveToEnd.
Scripts/Filter/FilterSortController.cs FilterSortController Оркестратор: применяет ISlotFilter / ISlotSorter к UI инвентаря.
Scripts/Filter/FilterSortPreset.cs FilterSortPreset ScriptableObject, объединяющий фильтр + сортировщик + режим отображения.
Scripts/Filter/FilterButton.cs FilterButton UI-кнопка, применяющая SlotFilterSO.
Scripts/Filter/SortButton.cs SortButton UI-кнопка, применяющая SlotSorterSO.
Scripts/Filter/FilterSortButton.cs FilterSortButton UI-кнопка, применяющая комбинированный FilterSortPreset.
Scripts/Filter/SlotFilterSO.cs SlotFilterSO SO-обёртка для переиспользуемых ассетов ISlotFilter.
Scripts/Filter/SlotSorterSO.cs SlotSorterSO SO-обёртка для переиспользуемых ассетов ISlotSorter.
Scripts/Filter/Filters/*.cs CategoryFilter, RarityRangeFilter, NameSearchFilter, CompositeFilter Встроенные [Serializable] реализации фильтров.
Scripts/Filter/Sorters/*.cs NameSorter, CategorySorter, RaritySorter, SortValueSorter, StackCountSorter, CompositeSorter Встроенные [Serializable] реализации сортировщиков.

Утилиты

Файл Types Назначение
Scripts/Tools/MonoSingleton.cs MonoSingleton<T> Generic MonoBehaviour singleton base для scene-global менеджеров.
Scripts/Tools/Extensions.cs Extensions Общие extension methods, используемые по runtime-коду.
Scripts/Tools/MiniTweenRunner.cs MiniTweenEase, MiniTweenRunner, ActiveTween Лёгкий tween-runner для простых runtime-анимаций.

Inspector attributes и editor tooling

Файл Types Назначение
Scripts/Tools/Inspector/InspectorAttributes.cs InfoMessageType, TitleAlignments, FoldoutGroupAttribute, InfoBoxAttribute, RequiredAttribute, ShowIfAttribute, HideLabelAttribute, ButtonAttribute, DisableInEditorModeAttribute, EnumToggleButtonsAttribute, LabelTextAttribute, ReadOnlyAttribute, ShowInInspectorAttribute, ListDrawerSettingsAttribute, TitleAttribute, InlinePropertyAttribute, PreviewFieldAttribute, TitleGroupAttribute, OnValueChangedAttribute, ManagedReferencePickerAttribute, RulePresetPickerAttribute, FixedArraySizeAttribute Кастомные inspector attributes, используемые пакетом для улучшения authoring UX.
Scripts/Tools/Inspector/Editor/InspectorDrawers.cs InspectorReflectionUtility, FoldoutGroupStateCache, InspectorPreviewUtility, FoldoutGroupStyles, GroupedInspectorEditorBase, GroupedMonoBehaviourEditor, GroupedScriptableObjectEditor, ShowIfPropertyDrawer, RequiredPropertyDrawer, EnumToggleButtonsPropertyDrawer, ReadOnlyPropertyDrawer, HideLabelPropertyDrawer, LabelTextPropertyDrawer, InfoBoxDecoratorDrawer, TitleDecoratorDrawer, TitleGroupDecoratorDrawer, PreviewFieldPropertyDrawer, ManagedReferencePickerPropertyDrawer, RulePresetPickerPropertyDrawer, FixedArraySizePropertyDrawer Editor-only реализация кастомной inspector-системы и property drawers.
Scripts/Tools/Inspector/Editor/InspectorOdinBridge.cs DragAndDropOdinAttributeProcessor Мост для Odin Inspector, чтобы inspector attributes пакета корректно сосуществовали с Odin.

Дополнительные runtime/UI файлы

Файл Types Назначение
Scripts/Core/Models/InventoryTopology.cs IInventoryTopology, SlotTopology, RectGridTopology, SlotCountLimitedTopology, OrientationStepUtility Topology abstraction для slot/grid координат, orientation и проекции footprint-ов.
Scripts/Core/Models/Placement.cs GridTopology, PlacementRequest, Placement Базовые модели placement-запросов, grid-размера и размещённого стека.
Scripts/Core/Models/PlacementCellUtility.cs PlacementBoundsMode, PlacementCellUtility Utility для вычисления covered cells с разными режимами проверки границ.
Scripts/Core/Models/PlacementShape.cs IPlacementShape, IItemPlacementShapeProvider, RectPlacementShape, OffsetPlacementShape, ComplexPlacementShape, PlacementShapeUtility Модели footprint-ов предметов и helpers для shape/orientation.
Scripts/Core/Models/PlacementSnapshot.cs PlacementSnapshot Снимок одного размещения для событий, отката и контекста DataBinding.
Scripts/Core/UDNDEvents.cs UDNDEvents Глобальные события drag/drop/swap lifecycle.
Scripts/DataBinding/PlacementInventoryDataBinding.cs PlacementData<TData>, PlacementCommitContext<TData,TAdapter>, PlacementInventoryDataBinding<TData,TAdapter> Binding template для инвентарей, которые сохраняют anchor/orientation и все item-экземпляры в размещении.
Scripts/Interaction/RuntimeInteractionSnapshot.cs InteractionInputKind, RuntimeInteractionSnapshot Снимок текущего input-контекста слота или инвентаря для actions.
Scripts/Inventories/BaseInventory.cs BaseInventory Абстрактная MonoBehaviour-база inventory implementations.
Scripts/Inventories/DropPreviewController.cs DropPreviewController Управляет preview подсветкой covered cells при наведении/drag.
Scripts/Inventories/EntryTransferResult.cs PlacementTransferOutcomeKind, EntryTransferStatus, PlacementTransferOutcome, EntryTransferResult, TransferExecutionReport Result/report модели transfer execution.
Scripts/Inventories/IInventoryInteraction.cs IInventoryInteraction Контракт для inventory-side interaction state и auto-transfer slot resolution.
Scripts/Inventories/IInventorySlotCreationCapacity.cs IInventorySlotCreationCapacity Internal capacity contract для динамического создания слотов.
Scripts/Inventories/IPlacementInventory.cs IPlacementInventory, IShapedDragTargetResolver Placement-aware inventory contract и target-side anchor resolution для shaped drag.
Scripts/Inventories/InventoryPlacementGeometry.cs InventoryPlacementGeometry Адаптер geometry-операций поверх IPlacementInventory и topology.
Scripts/Inventories/InventoryRuntimeCapabilities.cs IInventoryRuleEvaluator, IOccupiedSlotDropHandler, IPreRuleOccupiedSlotDropHandler, IPostRuleOccupiedSlotDropHandler, IDynamicSlotLifecycle, IInventoryEventSink Runtime capability interfaces, которые движок использует без жёсткой зависимости от UniversalInventory; occupied-slot handlers реализуются на DataBinding.
Scripts/Inventories/PlacementCandidateSource.cs PlacementCandidateSource Lazy enumerable source для placement candidates.
Scripts/Inventories/PlacementSnapshotCodec.cs PlacementSnapshotCodec Internal codec для capture/restore placement state.
Scripts/Inventories/PlacementStore.cs PlacementStore Хранилище placement-ов и occupancy map для shaped/grid инвентарей.
Scripts/Inventories/ShapedPlacementAnchorStrategy.cs ShapedPlacementAnchorContext, IShapedPlacementAnchorStrategy, RotatedGrabOffsetAnchorStrategy, SourceGrabOffsetAnchorStrategy, TargetSlotAnchorStrategy Стратегии преобразования hovered slot в anchor для shaped items.
Scripts/Slots/ISlot.cs ISlot Минимальный slot contract.
Scripts/Slots/ShapedColorSlot.cs ShapedColorSlot Slot visual для shaped-placement preview/highlight.
Scripts/UI/PlacementOverlay.cs PlacementOverlay Overlay renderer для multi-cell placement visuals.
Scripts/UI/PlacementOverlayItem.cs PlacementOverlayRenderState, PlacementOverlayItem UI item внутри placement overlay.
Scripts/UI/SourceSizedDragVisual.cs SourceSizedDragVisual Drag visual, который сохраняет размер source/placement.
Scripts/UI/Tooltip/FadeTooltipView.cs FadeTooltipView Базовый tooltip view с fade-анимацией.
Scripts/Filter/DelegateFilter.cs DelegateFilter, DelegateSorter Internal delegate-backed filter/sorter wrappers.
Scripts/Filter/Filters/CategoryFilter.cs CategoryFilter Built-in category filter.
Scripts/Filter/Filters/CompositeFilter.cs CompositeFilter Built-in composite filter.
Scripts/Filter/Filters/NameSearchFilter.cs NameSearchFilter Built-in name search filter.
Scripts/Filter/Filters/RarityRangeFilter.cs RarityRangeFilter Built-in rarity range filter.
Scripts/Filter/Sorters/CategorySorter.cs CategorySorter Built-in category sorter.
Scripts/Filter/Sorters/CompositeSorter.cs CompositeSorter Built-in composite sorter.
Scripts/Filter/Sorters/NameSorter.cs NameSorter Built-in name sorter.
Scripts/Filter/Sorters/RaritySorter.cs RaritySorter Built-in rarity sorter.
Scripts/Filter/Sorters/SortValueSorter.cs SortValueSorter Built-in sort-value sorter.
Scripts/Filter/Sorters/StackCountSorter.cs StackCountSorter Built-in stack-count sorter.

Пример: Demo1 Inventories

Файл Types Назначение
Examples/Demo1 Inventories/ItemExampleSO.cs ItemExampleSO Простая ScriptableObject-модель предмета для вводного примера инвентаря.
Examples/Demo1 Inventories/Adapters/ItemAdapterSoAdapter.cs ItemAdapterSoAdapter Адаптер, который представляет ItemExampleSO внутри inventory system.
Examples/Demo1 Inventories/DataBindings/ItemsSOInventoryDataBinding.cs ItemsSOInventoryDataBinding List-based binding, связывающий demo-список предметов с UI-инвентарём.
Examples/Demo1 Inventories/DataAmountInBinding.cs DataAmountInBinding UI-helper, показывающий количество элементов в demo binding.
Examples/Demo1 Inventories/ItemTypeExampleFilterRule.cs ItemTypeExampleFilterRule Demo-правило, показывающее ограничение drop по категории/типу предмета.

Пример: Demo2 Loot

Файл Types Назначение
Examples/Demo2 Loot/Scripts/Core/IInteractable.cs IInteractable Простой interaction-контракт для world-объектов в loot demo.
Examples/Demo2 Loot/Scripts/Core/Chest.cs Chest Интерактивный сундук, владеющий loot data и логикой открытия UI.
Examples/Demo2 Loot/Scripts/Core/ItemController.cs ItemController Компонент world item/chest-side interaction logic.
Examples/Demo2 Loot/Scripts/ItemExampleWith3DSO.cs ItemExampleWith3DSO ScriptableObject-данные предмета для примера с world loot.
Examples/Demo2 Loot/Scripts/ItemAdapterSoWith3DAdapter.cs ItemAdapterSoWith3DAdapter Адаптер для loot demo item'ов, включая filter-данные.
Examples/Demo2 Loot/Scripts/DataBinding/ChestInventoryDataBinding.cs ChestInventoryDataBinding Binding содержимого сундука.
Examples/Demo2 Loot/Scripts/DataBinding/PlayerInventoryDataBinding.cs PlayerInventoryDataBinding Binding инвентаря игрока в loot demo.
Examples/Demo2 Loot/Scripts/Player/PlayerController.cs PlayerController Простой контроллер/движение игрока для сцены.
Examples/Demo2 Loot/Scripts/Player/PlayerInteraction.cs PlayerInteraction Делает interact-проверки и открывает/использует world objects.
Examples/Demo2 Loot/Scripts/Player/PlayerInventoryData.cs PlayerInventoryData Контейнер backing data для инвентаря игрока в примере.
Examples/Demo2 Loot/Scripts/UI/LootUIController.cs LootUIController Открывает/закрывает и обновляет loot UI.
Examples/Demo2 Loot/Scripts/World3D/WorldItem.cs WorldItem 3D-представление pickup-предмета в мире.
Examples/Demo2 Loot/Scripts/World3D/WorldDropZone.cs WorldDropZone World-space drop target для выбрасывания предметов из UI обратно в сцену.

Пример: Demo3 Craft

Файл Types Назначение
Examples/Demo3 Craft/Data/MinecraftItemSO.cs CraftItemSO ScriptableObject-описание предмета для crafting demo.
Examples/Demo3 Craft/Data/RuntimeItem.cs RuntimeItem Runtime item wrapper/model, используемый в нужных местах примера.
Examples/Demo3 Craft/Adapters/MinecraftItemAdapterAdapter.cs CraftItemAdapterAdapter Адаптер, представляющий предметы crafting demo в inventory UI.
Examples/Demo3 Craft/Crafting/CraftingRecipePattern.cs CraftingRecipePattern Сериализуемое описание recipe grid/pattern.
Examples/Demo3 Craft/Crafting/CraftingRecipeSO.cs CraftingRecipeSO ScriptableObject-рецепт.
Examples/Demo3 Craft/Crafting/CraftingManager.cs CraftingManager Domain-controller примера, который вычисляет рецепты и хранит craft result state.
Examples/Demo3 Craft/DataBindings/MainInventoryDataBinding.cs MainInventoryDataBinding Binding основного инвентаря игрока.
Examples/Demo3 Craft/DataBindings/HotbarDataBinding.cs HotbarDataBinding Binding hotbar.
Examples/Demo3 Craft/DataBindings/CraftTableDataBinding.cs CraftTableDataBinding Binding входных слотов crafting grid.
Examples/Demo3 Craft/DataBindings/CraftResultDataBinding.cs CraftResultDataBinding Read-oriented binding для выходного craft slot.
Examples/Demo3 Craft/Editor/CraftingRecipePatternPropertyDrawer.cs CraftingRecipePatternPropertyDrawer Custom editor drawer для удобного редактирования recipe pattern.

Пример: Demo4 Trading

Файл Types Назначение
Examples/Demo4 Trading/Data/ItemType.cs ItemType Demo-enum категорий предметов для торговли и экипировки.
Examples/Demo4 Trading/TradableItemSO.cs TradableItemSO ScriptableObject-описание предмета у продавца.
Examples/Demo4 Trading/Data/TradableItemModel.cs TradableItemModel Runtime-модель торгуемого предмета на стороне игрока.
Examples/Demo4 Trading/Data/PlayerData.cs PlayerData Player-side модель денег и inventory data.
Examples/Demo4 Trading/Data/MerchantData.cs MerchantData Merchant-side модель inventory/pricing data.
Examples/Demo4 Trading/Data/TradingEconomyManager.cs TradingEconomyManager, Merchant Demo-manager, который хранит economy state и данные игрока/торговцев.
Examples/Demo4 Trading/Adapters/ITradableItem.cs ITradableItem Общий интерфейс для предметов с торговой метаинформацией.
Examples/Demo4 Trading/Adapters/TradableSoAdapter.cs TradableSoAdapter Адаптер для merchant-side ScriptableObject item'ов.
Examples/Demo4 Trading/Adapters/TradableItemAdapterModelAdapter.cs TradableItemAdapterModelAdapter Адаптер для player/runtime tradable item model.
Examples/Demo4 Trading/Converters/MerchantItemAdapterConverter.cs MerchantItemAdapterConverter Конвертирует входящие предметы в merchant-side adapter/data model.
Examples/Demo4 Trading/Converters/ModelItemAdapterConverter.cs ModelItemAdapterConverter Конвертирует входящие предметы в player/runtime adapter/data model.
Examples/Demo4 Trading/DataBindings/IMerchantInventory.cs IMerchantInventory Marker-interface для merchant inventory bindings/components.
Examples/Demo4 Trading/DataBindings/TradingHelper.cs TradingHelper Утилиты торговли: price checks, affordability и side effects.
Examples/Demo4 Trading/DataBindings/PlayerInventoryDataBinding.cs PlayerInventoryDataBinding Binding инвентаря игрока с transfer-domain hooks для торговых правил.
Examples/Demo4 Trading/DataBindings/MerchantInventoryDataBinding.cs MerchantInventoryDataBinding Binding инвентаря продавца с conversion и trade-specific поведением.
Examples/Demo4 Trading/DataBindings/EquipmentInventoryDataBinding.cs EquipmentInventoryDataBinding Binding fixed equipment slots в сцене торговли/экипировки.
Examples/Demo4 Trading/UI/PlayerGoldView.cs PlayerGoldView UI-view с текущим количеством золота игрока.
Examples/Demo4 Trading/UI/SelectedPurchasePriceView.cs SelectedPurchasePriceView UI-view с ценой текущего выбранного предмета.

Пример: Demo5 Containers

Файл Types Назначение
Examples/Demo5 Containers/Scripts/Data/BaseItemSO.cs BaseItemSO Базовое ScriptableObject-описание предмета для container demo.
Examples/Demo5 Containers/Scripts/Data/ContainerItemSO.cs ContainerItemSO Описание предмета, который сам содержит другой инвентарь.
Examples/Demo5 Containers/Scripts/Data/IContainerizeItemInstance.cs IContainerizeItemInstance Интерфейс runtime item instance, который может вести себя как контейнер.
Examples/Demo5 Containers/Scripts/Data/ItemInstance.cs ItemInstance Обычная runtime-реализация item instance.
Examples/Demo5 Containers/Scripts/Data/ContainerItemInstance.cs ContainerItemInstance Runtime item instance, владеющий вложенными inventory data.
Examples/Demo5 Containers/Scripts/Adapters/ContainerItemAdapterAdapter.cs ContainerItemAdapterAdapter Адаптер, который представляет runtime items container demo в UI-системе.
Examples/Demo5 Containers/Scripts/Bindings/PlayerContainerInventoryDataBinding.cs PlayerContainerInventoryDataBinding Binding верхнеуровневого инвентаря игрока в container demo.
Examples/Demo5 Containers/Scripts/Bindings/ContainerInventoryDataBinding.cs ContainerInventoryDataBinding Binding текущего открытого вложенного контейнера.
Examples/Demo5 Containers/Scripts/ContainerDemoManager.cs ContainerDemoManager Scene-manager, управляющий active container state и координацией демо.
Examples/Demo5 Containers/Scripts/UI/ContainerUIController.cs ContainerUIController Управляет открытием, переключением и отображением nested container UI.
Examples/Demo5 Containers/Scripts/ContextMenu/OpenContainerMenuEntrySO.cs OpenContainerMenuEntrySO Context menu entry, открывающий container item.
Examples/Demo5 Containers/Scripts/Events.cs Events Общие event names/helpers внутри container demo.

Пример: Demo6 Shaped Items

Файл Types Назначение
Examples/Demo6 Shaped Items/ShapedItemExampleSO.cs ShapedItemExampleSO Базовое ScriptableObject-описание rectangular shaped item через width/height.
Examples/Demo6 Shaped Items/ComplexShapedItemExampleSO.cs ComplexShapedItemExampleSO ScriptableObject-описание non-rectangular footprint-а через bool-маску занятых клеток.
Examples/Demo6 Shaped Items/Adapters/ShapedItemAdapter.cs ShapedItemAdapter Adapter, который реализует IItemPlacementShapeProvider и отдаёт ComplexPlacementShape.
Examples/Demo6 Shaped Items/DataBindings/ShapedItemsInventoryDataBinding.cs ShapedPlacementSeed, ShapedItemsInventoryDataBinding Placement-aware binding, который хранит item, anchor index и orientation.
Examples/Demo6 Shaped Items/Editor/ComplexShapedItemExampleSOEditor.cs ComplexShapedItemExampleSOEditor Custom inspector с clickable grid для редактирования complex footprint-а поверх icon sprite.


Что открывать первым для типовых задач

Если вам нужно... Сначала откройте
Привязать свои list-based данные InventoryDataBindingBase.cs, ListInventoryDataBinding.cs, любой demo binding из Demo1 или Demo4
Сделать fixed slots для экипировки MappedSlotInventoryDataBinding.cs, EquipmentInventoryDataBinding.cs
Понять transfer drag/drop InventoryDropProcessor.cs, InventoryTransferEngine.cs, IStrategy.cs, PlacementCandidate.cs
Добавить свои drag rules IDragRule.cs, BuiltInRules.cs, CompositeRule.cs
Поддержать quick transfer AutoTransferService.cs, AutoTransferAction.cs, AutoTransferAnimationStrategy.cs
Добавить свои input bindings InteractionBindingsProfile.cs, InputEventRouter.cs, SlotInteractionActions.cs
Добавить context menu actions IContextMenuEntry.cs, ContextMenuEntryDefinitionSO.cs, ContextMenuManager.cs
Добавить tooltip content IDescribable.cs, TooltipManager.cs, DefaultTooltipView.cs
Понять world drop integration DropAreaBase.cs, InventoryDropArea.cs, WorldDropZone.cs
Реализовать конвертацию предметов между инвентарями IItemAdapterConverter.cs, TransferItemConversionUtility.cs, конвертеры из Demo4
Сделать multi-cell предметы в grid inventory PlacementInventoryDataBinding.cs, IPlacementInventory.cs, ShapedItemAdapter.cs, Demo6 Shaped Items