Mapa de archivos
Esta página es un mapa completo del código del paquete.
Es intencionadamente más larga que otras páginas de la documentación: el objetivo aquí no es enseñar el sistema desde cero, sino ayudarte a encontrar rápidamente el tipo exacto de runtime, editor o ejemplo que necesitas.
Las tablas siguientes enumeran todos los archivos de scripts y describen las principales clases, interfaces, enum y tipos auxiliares declarados dentro de ellos.
Cómo usar esta página
- Empieza por el subsistema que más se parezca a tu tarea.
- Abre el archivo indicado en la primera columna.
- Usa la columna
Typespara confirmar que estás en el lugar correcto. - Considera los scripts de ejemplo como integraciones de referencia, no como arquitectura obligatoria.
Mapa rápido
| Si buscas... | Mira |
|---|---|
| El componente principal de inventario | UniversalInventory, BaseSlot, UniversalSlot |
| Sincronización entre UI y datos | InventoryDataBindingBase y uno de los bindings list / slot-indexed / mapped |
| Lógica de transferencia | InventoryDropProcessor, InventoryTransferService, IStrategy |
| Reglas de aceptación | IDragRule, BuiltInRules, RuleEvaluationService |
| Items con forma | PlacementInventoryDataBinding, IPlacementInventory, IPlacementShape |
| Ejemplos de integración | páginas Demo1-Demo6 en Ejemplos |
Puntos de entrada principales
| File | Types | Rol |
|---|---|---|
Scripts/DragAndDropManager.cs |
DragAndDropManager |
Gestor global de escena para arrastres activos. Sigue el lifecycle del drag, el contexto actual y la orquestación de alto nivel. |
Scripts/Inventories/UniversalInventory.cs |
UniversalInventory, ItemBehaviorType, SlotManagementType |
Componente principal del inventario. Posee slots, campos de strategy directos con [SerializeReference], colecciones de rules y comportamiento de transferencia a nivel de inventario. |
Scripts/Slots/BaseSlot.cs |
BaseSlot |
Base abstracta de slot usada por inventarios y el motor de transferencia. |
Scripts/Slots/UniversalSlot.cs |
UniversalSlot |
Implementación concreta por defecto del slot usada por el paquete. |
Scripts/DataBinding/InventoryDataBindingBase.cs |
InventoryDataBindingBase |
Clase base que conecta UniversalInventory con tu fuente de datos de juego. |
Lista completa de archivos por subsistema
Modelos y contratos básicos
| File | Types | Rol |
|---|---|---|
Scripts/Core/Contracts/IItemAdapter.cs |
IItemAdapter |
Representación mínima del item almacenada en los slots y usada por la UI. |
Scripts/Core/Contracts/IDescribable.cs |
IDescribable |
Interface opcional para adapters que aportan datos descriptivos ampliados para UI como tooltips. |
Scripts/Core/Contracts/IFilterable.cs |
IFilterable, ISortable |
Interfaces opcionales para sistemas de filtrado y ordenación. |
Scripts/Core/Contracts/IStackSizeLimitable.cs |
IStackSizeLimitable |
Override opcional del tamaño máximo de stack por item. |
Scripts/Core/Models/ItemStack.cs |
ItemStack |
Modelo runtime del stack usado por slots, transferencia y swaps. |
Scripts/Core/Models/DragContext.cs |
DragContext |
Contexto por arrastre que contiene entries de origen, info del target y flags de la operación actual. |
Scripts/Core/Models/ActionResult.cs |
ActionResult |
Objeto de resultado genérico para APIs orientadas a acciones. |
Scripts/Core/Models/DropResult.cs |
DropResult |
Objeto de resultado devuelto por el procesamiento de drop. |
Scripts/Core/Models/InventoryEvents.cs |
InventoryItemEventContext, InventorySwapContext |
Tipos payload de eventos usados cuando se despachan notificaciones de transferencia y swap. |
Scripts/Slots/SlotHoverEventArgs.cs |
SlotHoverEventArgs |
Datos del evento hover para la UI de slots y sistemas relacionados. |
Sistema de drop y policies
| File | Types | Rol |
|---|---|---|
Scripts/Core/Contracts/IDropTarget.cs |
IDropTarget |
Contrato para cualquier cosa que pueda recibir items arrastrados. |
Scripts/Core/Contracts/IDropProcessor.cs |
IDropProcessor |
Contrato para objetos que pueden procesar un intento de drop. |
Scripts/Core/Contracts/IDropRequestProcessor.cs |
IDropRequestProcessor |
Interface de processor especializada usada por el drop handling basado en requests. |
Scripts/Core/Drop/DropAreaBase.cs |
DropAreaBase |
Clase base para targets de drop no basados en slot, como áreas de inventario o world drop zones. |
Scripts/UI/InventoryDropArea.cs |
InventoryDropArea |
Target de drop estándar para áreas de inventario construido sobre DropAreaBase. |
Scripts/Core/Drop/DropPolicy.cs |
BlockedTargetResolutionKind, PartialTransferMode, ResolvedDropPolicy, DropRequestPolicy, DragRequestPolicy |
Modelos que describen el comportamiento de drop: rechazar, buscar otro slot, swap y transferencia parcial. |
Scripts/Core/Drop/DropPolicySettings.cs |
DropPolicySettings |
Ajustes para targets ocupados, colocación alternativa y transferencia parcial. |
Scripts/Core/Drop/DropRequestPolicySettings.cs |
DropRequestPolicySettings |
Helper serializable para overrides temporales de drop request en acciones y triggers. |
Scripts/Core/Drop/DragRequestPolicySettings.cs |
DragRequestPolicySettings |
Helper serializable para overrides temporales de cantidad al iniciar un drag. |
Scripts/Inventories/IDropPolicyProvider.cs |
IDropPolicyProvider |
Interface para objetos que exponen settings de drop policy. |
Scripts/Inventories/InventoryAcceptanceRequest.cs |
InventoryAcceptanceRequest |
Modelo de request usado al comprobar si un inventario puede aceptar un item/stack entrante. |
Scripts/Inventories/InventoryDropProcessor.cs |
InventoryDropProcessor |
Punto de entrada desde la UI: resuelve la drop policy activa e inicia la transferencia. |
Capa de Data Binding
| File | Types | Rol |
|---|---|---|
Scripts/DataBinding/ListInventoryDataBinding.cs |
ListInventoryDataBinding<TData, TAdapter> |
Base de binding para inventarios respaldados por listas. |
Scripts/DataBinding/MappedSlotInventoryDataBinding.cs |
MappedSlotInventoryDataBinding<TData, TAdapter> |
Base de binding para slots semánticos o fijos con nombre, como layouts de equipamiento. |
Scripts/DataBinding/SlotIndexedInventoryDataBinding.cs |
SlotIndexedInventoryDataBinding<TData, TAdapter> |
Base de binding para datos indexados por slot; lee y escribe la lista completa de items/adapters de cada slot. |
Scripts/DataBinding/GameManagerExample.cs |
GameManagerExample, ItemData |
Ejemplo que muestra cómo un manager externo puede actuar como fuente de datos de un binding. |
Pipeline de inventario
| File | Types | Rol |
|---|---|---|
Scripts/Inventories/IInventory.cs |
IInventory |
Contrato base de inventario consumido por el motor de transferencia, validators y services. |
Scripts/Inventories/ITransferDomainHandler.cs |
ITransferDomainHandler |
Comprobaciones de negocio síncronas antes de confirmar la transferencia y hook después del éxito. |
Scripts/Inventories/IAsyncTransferDomainHandler.cs |
IAsyncTransferDomainHandler |
Comprobación asíncrona antes de transferir, por ejemplo validación de servidor. |
Scripts/Inventories/IItemAdapterConverter.cs |
IItemAdapterConverter |
Convierte item adapters al cruzar límites entre inventarios con distintos modelos de item. |
Scripts/Inventories/IdentityItemAdapterConverter.cs |
IdentityItemAdapterConverter |
Converter pass-through usado cuando no se necesita conversión de modelo. |
Scripts/Inventories/TransferKind.cs |
TransferKind |
Enum que describe el tipo de flujo de transferencia que se está ejecutando. |
Scripts/Inventories/TransferDomainContext.cs |
TransferDomainContext |
Objeto de contexto pasado a los domain handlers. |
Scripts/Inventories/InventoryTransferEngine.cs |
InventoryTransferService, TransferEntryRequest |
Servicio de transferencia: procesa entradas una por una, soporta rollback de entradas fallidas, swap y búsqueda automática de posición. |
Scripts/Inventories/InventoryTransferService.cs |
TransferProbe |
Resultado de sondeo orientativo para preview y aceptación. |
Scripts/Inventories/PlacementCandidate.cs |
PlacementCandidate, PlacementCandidateKind |
Descripción de una posible colocación: unir stack, usar un slot existente o crear un slot dinámico. |
Scripts/Inventories/PlacementCandidateOrderer.cs |
placement candidate orderers | Orden usado solo para colocación automática. |
Scripts/Inventories/IPlacementGeometry.cs |
IPlacementGeometry |
Contrato topology-aware para anchor, footprint, occupancy y covered slots. |
Scripts/Inventories/InventorySnapshot.cs |
InventorySnapshot, IInventorySnapshotProvider |
Estado guardado del inventario para lectura segura, preview, sorting y rollback de operaciones fallidas. |
Scripts/Inventories/InventorySnapshotUtility.cs |
InventorySnapshotUtility |
Métodos helper para construir y leer estado guardado del inventario. |
Scripts/Inventories/AutoTransferService.cs |
AutoTransferService |
Servicio que realiza movimientos de estilo quick-transfer entre inventarios. |
Scripts/Inventories/TransferItemConversionUtility.cs |
TransferItemConversionUtility |
Utility interna que aplica de forma consistente la conversión de adapters de origen/target en preview y execution. |
Strategies de inventario
| File | Types | Rol |
|---|---|---|
Scripts/Inventories/Strategies/IStrategy.cs |
IStrategy |
Contrato de solo lectura: validación de target explícito, enumeración de candidates automáticos y capacity. |
Scripts/Inventories/Strategies/InventoryStrategyBase.cs |
InventoryStrategyBase |
Clase base para estrategias de solo lectura que producen candidatos. |
Scripts/Inventories/Strategies/StackBasedInventoryStrategyBase.cs |
StackBasedInventoryStrategyBase |
Base compartida orientada a stacks con límite de stack y soporte de override por item. |
Scripts/Inventories/Strategies/UniqueItemStrategy.cs |
UniqueItemStrategy |
Strategy en la que cada slot contiene una unidad o stack independiente. |
Scripts/Inventories/Strategies/StackableItemStrategy.cs |
StackableItemStrategy |
Strategy centrada en el comportamiento normal de fusión de stacks. |
Scripts/Inventories/Strategies/SeparableStacksStrategy.cs |
SeparableStacksStrategy |
Strategy para stacks que soportan split y movimientos parciales más granulares. |
Scripts/Inventories/Strategies/SlotManagementSettingsBase.cs |
SlotManagementSettingsBase |
Clase base para modos de ciclo de vida de slots seleccionados directamente en UniversalInventory. |
Scripts/Inventories/Strategies/FixedSlotManagementSettings.cs |
FixedSlotManagementSettings |
Modo fijo de ciclo de vida de slots. |
Scripts/Inventories/Strategies/DynamicSlotManagementSettings.cs |
DynamicSlotManagementSettings |
Modo dinámico con mantenimiento de slots libres y hooks de trimming. |
Scripts/Inventories/Strategies/StrategyConfiguration.cs |
strategy configuration types | Configuración actual de strategy, slot management y reglas de merge de stacks. |
Sistema de rules
| File | Types | Rol |
|---|---|---|
Scripts/Rules/IDragRule.cs |
RuleResult, IDragRule, IGlobalRule, IInventoryRule, ISlotRule, DragRuleBase |
Contratos centrales de rules y tipo de resultado usados para validar el inicio del drag y el drop. |
Scripts/Rules/RuleEvaluationService.cs |
RuleEvaluationService |
Servicio de alto nivel que ejecuta los rule validators relevantes para una drag entry. |
Scripts/Rules/RuleValidator.cs |
RuleValidator<TRule>, GlobalRuleValidator, InventoryRuleValidator, SlotRuleValidator |
Helpers de colección y ejecución de rules para ámbitos concretos. |
Scripts/Rules/CompositeRule.cs |
CompositeRule<TRule>, CompositeGlobalRule, CompositeInventoryRule, CompositeSlotRule, CompositeRuleMode |
Rules compuestas que combinan múltiples child rules usando semántica AND u OR. |
Scripts/Rules/BuiltInRules.cs |
SameSlotRule, SameInventoryRule, ItemIdFilterRule, UniqueItemLimitRule, SlotLockRule, CustomRule |
Implementaciones integradas de rules para restricciones comunes de drag/drop. |
Scripts/Rules/RuleNameFilter.cs |
RuleNameFilter, NameFilterType |
Rule que filtra por nombre/patrón de rule y puede reutilizarse para comportamiento selectivo allow/deny. |
Scripts/Rules/Presets/RulePreset.cs |
RulePreset<TRule> |
Contenedor genérico ScriptableObject para conjuntos reutilizables de rules. |
Scripts/Rules/Presets/GlobalRulePreset.cs |
GlobalRulePreset |
Asset preset para global rules. |
Scripts/Rules/Presets/InventoryRulePreset.cs |
InventoryRulePreset |
Asset preset para inventory-scoped rules. |
Scripts/Rules/Presets/SlotRulePreset.cs |
SlotRulePreset |
Asset preset para slot-scoped rules. |
Interaction e input
| File | Types | Rol |
|---|---|---|
Scripts/Interaction/InteractionBindingsProfile.cs |
InteractionBindingsProfile |
Perfil ScriptableObject que almacena input bindings para drag, click, hold, context y selection actions. |
Scripts/Interaction/InputEventRouter.cs |
InputEventRouter, RuntimeState |
Router runtime central que resuelve bindings y traduce input en acciones de slot/inventario. |
Scripts/Interaction/SlotInputAdapter.cs |
SlotInputAdapter |
Adapter orientado a UI adjunto a los visuals del slot para que participen en navigation, pointer y routed input. |
Scripts/Interaction/FocusSource.cs |
FocusSource |
Enum que rastrea de dónde proviene el focus actual del slot. |
Scripts/Interaction/InputModalityTracker.cs |
InputModalityTracker, InputModality |
Rastrea si el jugador está usando input de tipo pointer o navigation tanto en proyectos legacy como con Input System. |
Scripts/Interaction/InventoryExtraInteractionBinder.cs |
InventoryExtraInteractionBinder |
Helper que vincula acciones adicionales a nivel de inventario e integration points más allá del input básico de slot. |
Scripts/Interaction/HoldDragSettings.cs |
HoldDragSettings |
ScriptableObject para configurar tiempos y umbrales de hold-to-drag. |
Scripts/Interaction/HoldDragPreviewDisplay.cs |
HoldDragPreviewDisplay |
Componente de feedback visual para el estado de preparación de hold-drag. |
Scripts/Interaction/HoldDragActions.cs |
StartHoldCountAction, StartHoldDragAction |
Slot interaction actions relacionadas con hold counting y el inicio de drag por pulsación mantenida. |
Scripts/Interaction/SlotInteractionActions.cs |
SlotInteractionAction, AssetSafeSlotInteractionAction, StartDragAction, CompleteDragAction, SplitDropAction, RotateDragAction, CancelDragAction, InventorySlotAction |
Tipos de acción centrales invocados por el input router para los flujos de interacción de slot e inventario. |
Modelos de input binding
| File | Types | Rol |
|---|---|---|
Scripts/Interaction/Bindings/PointerBinding.cs |
PointerBinding |
Definición runtime de pointer binding. |
Scripts/Interaction/Bindings/KeyBinding.cs |
KeyBinding |
Definición runtime de binding para teclas legacy. |
Scripts/Interaction/Bindings/LegacyInputActionBinding.cs |
LegacyInputActionBinding |
Definición runtime de binding del Input Manager antiguo por nombre de botón. |
Scripts/Interaction/Bindings/InputActionBinding.cs |
InputActionBinding |
Definición runtime de binding del Input System. |
Scripts/Interaction/Bindings/AssetPointerBinding.cs |
AssetPointerBinding |
Entrada serializada de asset/profile para pointer binding. |
Scripts/Interaction/Bindings/AssetKeyBinding.cs |
AssetKeyBinding |
Entrada serializada de asset/profile para key binding legacy. |
Scripts/Interaction/Bindings/AssetLegacyInputActionBinding.cs |
AssetLegacyInputActionBinding |
Entrada serializada de asset/profile para binding del Input Manager antiguo por nombre de botón. |
Scripts/Interaction/Bindings/AssetInputActionBinding.cs |
AssetInputActionBinding |
Entrada serializada de asset/profile para Input System binding. |
Scripts/Interaction/Bindings/ModifierKeyHelper.cs |
ModifierKeyHelper |
Helper para comprobaciones de modifier keys usadas durante la evaluación de bindings. |
Actions
| File | Types | Rol |
|---|---|---|
Scripts/Actions/InventoryActionBase.cs |
InventoryActionBase |
Clase base para acciones de inventario de alcance general que pueden dispararse mediante bindings. |
Scripts/Actions/Enums.cs |
PointerTriggerPhase, TriggerPhaseEnum, ModifierKey, KeyTriggerPhase |
Enum compartidos para configuración de bindings/actions y fases de activación. |
Scripts/Actions/Inheritors/AutoTransferAction.cs |
AutoTransferAction |
Acción de inventario que invoca comportamiento de quick transfer. |
Scripts/Actions/Inheritors/SortInventoryAction.cs |
SortInventoryAction |
Acción de inventario que ordena items físicamente mediante un ISlotSorter. |
Sistema de selección
| File | Types | Rol |
|---|---|---|
Scripts/Selection/SelectionContext.cs |
SelectionContext |
Contenedor runtime del estado actual de selección y datos auxiliares. |
Scripts/Selection/SelectionManager.cs |
SelectionManager |
Coordinador global de selección usado por los flujos de multi-select y multi-drag. |
Scripts/Selection/SlotSelectionView.cs |
SlotSelectionView |
Componente visual que renderiza el estado de selección sobre un slot. |
Scripts/Selection/SelectionSlotAction.cs |
SelectionSlotAction |
Acción de slot que integra el comportamiento de selección en el input pipeline. |
Scripts/Selection/StartMultiDragAction.cs |
StartMultiDragAction |
Acción de slot que inicia un drag desde la selección actual. |
Scripts/Selection/Operations/SelectionOperationBase.cs |
SelectionOperationBase |
Clase base para comandos de selección reutilizables. |
Scripts/Selection/Operations/ClearSelectionOperation.cs |
ClearSelectionOperation |
Limpia la selección actual. |
Scripts/Selection/Operations/ClearAndSelectOperation.cs |
ClearAndSelectOperation |
Limpia la selección previa y selecciona un nuevo slot/conjunto. |
Scripts/Selection/Operations/SelectSlotOperation.cs |
SelectSlotOperation |
Selecciona un slot concreto. |
Scripts/Selection/Operations/ToggleFilledSlotOperation.cs |
ToggleFilledSlotOperation |
Alterna el estado de selección de un slot no vacío. |
Scripts/Selection/Operations/RangeSelectOperation.cs |
RangeSelectOperation |
Selecciona un rango de slots. |
Scripts/Selection/Operations/SelectAllOperation.cs |
SelectAllOperation |
Selecciona todos los slots disponibles/elegibles. |
Scripts/Selection/Operations/SelectByConditionOperation.cs |
SelectByConditionOperation |
Clase base para selección en bloque basada en condiciones. |
Scripts/Selection/Triggers/SelectionTriggerBase.cs |
SelectionTriggerBase |
Clase base para componentes trigger que invocan operaciones de selección. |
Scripts/Selection/Triggers/ButtonSelectionTrigger.cs |
ButtonSelectionTrigger |
Trigger mediante botón UI para una operación de selección. |
Scripts/Selection/Triggers/InputActionSelectionTrigger.cs |
InputActionSelectionTrigger, TriggerPhase |
Trigger del Input System para operaciones de selección. |
Sistema de tooltip
| File | Types | Rol |
|---|---|---|
Scripts/UI/Tooltip/BaseTooltipView.cs |
BaseTooltipView |
Clase base para implementaciones de renderizado de tooltip. |
Scripts/UI/Tooltip/DefaultTooltipView.cs |
DefaultTooltipView |
Implementación lista para usar de la vista de tooltip. |
Scripts/UI/Tooltip/TooltipManager.cs |
TooltipManager, TooltipAnchor |
Controlador global de tooltip que posiciona, abre y oculta vistas de tooltip. |
Drag visuals y layout
| File | Types | Rol |
|---|---|---|
Scripts/UI/IDragVisual.cs |
IDragVisual |
Interface para implementaciones de drag visual. |
Scripts/UI/DefaultDragVisual.cs |
DefaultDragVisual |
Presentador básico de drag visual. |
Scripts/UI/FancyDragVisual.cs |
FancyDragVisual |
Drag visual más estilizado con presentación/comportamiento de animación más rico. |
Scripts/UI/DragVisualPresenter.cs |
DragVisualPresenter, VisualInstance |
Presentador global que crea y actualiza el drag visual activo. |
Scripts/UI/InventoryDragVisualBinder.cs |
InventoryDragVisualBinder |
Vincula un inventario o setup de escena con una configuración elegida de drag visual. |
Scripts/UI/FreeFormSlotLayout.cs |
FreeFormSlotLayout |
Helper de layout para inventarios cuyos slots se colocan manualmente o de forma semimanual en lugar de en una cuadrícula regular. |
Animación de auto transfer
| File | Types | Rol |
|---|---|---|
Scripts/Core/AutoTransfer/AutoTransferAnimationStrategy.cs |
AutoTransferAnimationStrategy |
Clase base para strategies de animación de quick-transfer. |
Scripts/Core/AutoTransfer/TweenAutoTransferAnimation.cs |
TweenAutoTransferAnimation |
Strategy de animación basada en tween para efectos de auto-transfer. |
Scripts/Core/AutoTransfer/AutoTransferContext.cs |
InventoryList |
Modelo auxiliar relacionado con auto-transfer usado por los flujos de animación/selección de quick-transfer. |
Sistema de context menu
| File | Types | Rol |
|---|---|---|
Scripts/ContextMenu/IContextMenuEntry.cs |
IContextMenuEntry |
Contrato para cualquier cosa que pueda aparecer como entrada de context menu. |
Scripts/ContextMenu/ContextMenuContext.cs |
context menu context types | Objeto payload que describe el slot/inventario/item para el que se está construyendo un menú. |
Scripts/ContextMenu/ContextMenuEntryDefinitionSO.cs |
ContextMenuEntryDefinitionSO |
Base ScriptableObject para definiciones reutilizables de entradas de menú. |
Scripts/ContextMenu/ContextMenuSceneEntryBase.cs |
ContextMenuSceneEntryBase |
Clase base de scene object para entradas de contexto que necesitan referencias runtime de la escena. |
Scripts/ContextMenu/ContextMenuPreset.cs |
ContextMenuPreset |
Asset que agrupa varias entradas de menú en un preset reutilizable. |
Scripts/ContextMenu/ContextMenuManager.cs |
ContextMenuManager |
Gestor global que construye y abre context menus. |
Scripts/ContextMenu/ContextMenuBinder.cs |
ContextMenuBinder |
Vincula presets/entradas de menú a un inventario o a un objeto de escena. |
Scripts/ContextMenu/InventoryContextMenuViewBinder.cs |
InventoryContextMenuViewBinder |
Conecta inventarios con una implementación concreta de context menu view. |
Scripts/ContextMenu/ShowContextMenuAction.cs |
ShowContextMenuAction |
Acción de slot que solicita un menú para el slot/contexto actual. |
Scripts/ContextMenu/UI/ContextMenuViewBase.cs |
ContextMenuViewBase |
Clase base para implementaciones de UI de context menu. |
Scripts/ContextMenu/UI/UniversalContextMenuView.cs |
UniversalContextMenuView |
Implementación por defecto de UI de context menu incluida en el paquete. |
Scripts/ContextMenu/UI/ContextMenuEntryView.cs |
ContextMenuEntryView |
Elemento de UI para una fila/botón de entrada de menú. |
Scripts/ContextMenu/BuiltInEntries/SortContextMenuEntrySO.cs |
SortContextMenuEntrySO |
Entrada de menú integrada que dispara la ordenación del inventario. |
Scripts/ContextMenu/BuiltInEntries/DebugContextMenuEntrySO.cs |
DebugContextMenuEntrySO |
Entrada de menú integrada para diagnóstico/debug. |
UI de filtrado y ordenación
| File | Types | Rol |
|---|---|---|
Scripts/Filter/ISlotFilter.cs |
ISlotFilter, ISlotSorter, FilterPredicate, SortComparison |
Interfaces y delegados base para filtrado y ordenación. |
Scripts/Filter/FilterContext.cs |
FilterContext |
Struct de contexto para filtros y sorters (Slot, Inventory, AllSlots, SlotIndex). |
Scripts/Filter/FilterDisplayMode.cs |
FilterDisplayMode |
Enum: Hide, Dim, MoveToEnd. |
Scripts/Filter/FilterSortController.cs |
FilterSortController |
Orquestador: aplica ISlotFilter / ISlotSorter a una UI de inventario. |
Scripts/Filter/FilterSortPreset.cs |
FilterSortPreset |
ScriptableObject que combina filtro + sorter + modo de visualización. |
Scripts/Filter/FilterButton.cs |
FilterButton |
Botón de UI que aplica un SlotFilterSO. |
Scripts/Filter/SortButton.cs |
SortButton |
Botón de UI que aplica un SlotSorterSO. |
Scripts/Filter/FilterSortButton.cs |
FilterSortButton |
Botón de UI que aplica un FilterSortPreset combinado. |
Scripts/Filter/SlotFilterSO.cs |
SlotFilterSO |
SO wrapper para assets compartibles de ISlotFilter. |
Scripts/Filter/SlotSorterSO.cs |
SlotSorterSO |
SO wrapper para assets compartibles de ISlotSorter. |
Scripts/Filter/Filters/*.cs |
CategoryFilter, RarityRangeFilter, NameSearchFilter, CompositeFilter |
Implementaciones [Serializable] integradas de filtros. |
Scripts/Filter/Sorters/*.cs |
NameSorter, CategorySorter, RaritySorter, SortValueSorter, StackCountSorter, CompositeSorter |
Implementaciones [Serializable] integradas de sorters. |
Utilidades
| File | Types | Rol |
|---|---|---|
Scripts/Tools/MonoSingleton.cs |
MonoSingleton<T> |
Base singleton genérica para MonoBehaviour usada por gestores globales de escena. |
Scripts/Tools/Extensions.cs |
Extensions |
Métodos de extensión compartidos usados por el código runtime. |
Scripts/Tools/MiniTweenRunner.cs |
MiniTweenEase, MiniTweenRunner, ActiveTween |
Tween runner ligero usado para animaciones runtime simples. |
Inspector attributes y tooling de editor
| File | Types | Rol |
|---|---|---|
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 |
Custom inspector attributes usados en todo el paquete para mejorar la UX de authoring. |
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 |
Implementación solo-editor del sistema de custom inspector y property drawers. |
Scripts/Tools/Inspector/Editor/InspectorOdinBridge.cs |
DragAndDropOdinAttributeProcessor |
Puente con Odin para que los inspector attributes del paquete convivan correctamente con Odin Inspector. |
Archivos Runtime/UI adicionales
| File | Types | Rol |
|---|---|---|
Scripts/Core/Models/InventoryTopology.cs |
IInventoryTopology, SlotTopology, RectGridTopology, SlotCountLimitedTopology, OrientationStepUtility |
Abstracción de topology para coordenadas slot/grid, orientation y proyección de footprints. |
Scripts/Core/Models/Placement.cs |
GridTopology, PlacementRequest, Placement |
Modelos base de placement request, tamaño de grid y stack colocado. |
Scripts/Core/Models/PlacementCellUtility.cs |
PlacementBoundsMode, PlacementCellUtility |
Utility para calcular celdas cubiertas con distintos modos de bounds. |
Scripts/Core/Models/PlacementShape.cs |
IPlacementShape, IItemPlacementShapeProvider, RectPlacementShape, OffsetPlacementShape, ComplexPlacementShape, PlacementShapeUtility |
Modelos de footprint de items y helpers de shape/orientation. |
Scripts/Core/Models/PlacementSnapshot.cs |
PlacementSnapshot |
Estado guardado de un placement para eventos, rollback y contexto de DataBinding. |
Scripts/Core/UDNDEvents.cs |
UDNDEvents |
Eventos globales del lifecycle drag/drop/swap. |
Scripts/DataBinding/PlacementInventoryDataBinding.cs |
PlacementData<TData>, PlacementCommitContext<TData,TAdapter>, PlacementInventoryDataBinding<TData,TAdapter> |
Binding template para inventarios que persisten anchor/orientation y cada instancia de item dentro de una colocación. |
Scripts/Interaction/RuntimeInteractionSnapshot.cs |
InteractionInputKind, RuntimeInteractionSnapshot |
Contexto input actual guardado de un slot o inventario para actions. |
Scripts/Inventories/BaseInventory.cs |
BaseInventory |
Base MonoBehaviour abstracta para implementaciones de inventario. |
Scripts/Inventories/DropPreviewController.cs |
DropPreviewController |
Gestiona el resaltado preview de celdas cubiertas durante hover/drag. |
Scripts/Inventories/EntryTransferResult.cs |
PlacementTransferOutcomeKind, EntryTransferStatus, PlacementTransferOutcome, EntryTransferResult, TransferExecutionReport |
Modelos de resultado/reporte de transfer execution. |
Scripts/Inventories/IInventoryInteraction.cs |
IInventoryInteraction |
Contrato para interaction state del inventario y resolución de auto-transfer slot. |
Scripts/Inventories/IInventorySlotCreationCapacity.cs |
IInventorySlotCreationCapacity |
Contrato interno de capacidad para creación dinámica de slots. |
Scripts/Inventories/IPlacementInventory.cs |
IPlacementInventory, IShapedDragTargetResolver |
Contrato placement-aware de inventario y resolución target-side de anchors para shaped drag. |
Scripts/Inventories/InventoryPlacementGeometry.cs |
InventoryPlacementGeometry |
Adapter de operaciones geometry sobre IPlacementInventory y topology. |
Scripts/Inventories/InventoryRuntimeCapabilities.cs |
IInventoryRuleEvaluator, IOccupiedSlotDropHandler, IPreRuleOccupiedSlotDropHandler, IPostRuleOccupiedSlotDropHandler, IDynamicSlotLifecycle, IInventoryEventSink |
Interfaces de capacidades runtime usadas por el motor sin depender directamente de UniversalInventory; los occupied-slot handlers se implementan en DataBinding. |
Scripts/Inventories/PlacementCandidateSource.cs |
PlacementCandidateSource |
Fuente enumerable lazy para placement candidates. |
Scripts/Inventories/PlacementSnapshotCodec.cs |
PlacementSnapshotCodec |
Codec interno para capturar/restaurar placement state. |
Scripts/Inventories/PlacementStore.cs |
PlacementStore |
Almacenamiento de placements y occupancy map para inventarios shaped/grid. |
Scripts/Inventories/ShapedPlacementAnchorStrategy.cs |
ShapedPlacementAnchorContext, IShapedPlacementAnchorStrategy, RotatedGrabOffsetAnchorStrategy, SourceGrabOffsetAnchorStrategy, TargetSlotAnchorStrategy |
Estrategias que convierten un hovered slot en anchor para shaped items. |
Scripts/Slots/ISlot.cs |
ISlot |
Contrato mínimo de slot. |
Scripts/Slots/ShapedColorSlot.cs |
ShapedColorSlot |
Slot visual para preview/highlight de shaped placement. |
Scripts/UI/PlacementOverlay.cs |
PlacementOverlay |
Renderer overlay para visuals de placement multi-celda. |
Scripts/UI/PlacementOverlayItem.cs |
PlacementOverlayRenderState, PlacementOverlayItem |
UI item dentro del placement overlay. |
Scripts/UI/SourceSizedDragVisual.cs |
SourceSizedDragVisual |
Drag visual que conserva el tamaño source/placement. |
Scripts/UI/Tooltip/FadeTooltipView.cs |
FadeTooltipView |
Tooltip view base con animación fade. |
Scripts/Filter/DelegateFilter.cs |
DelegateFilter, DelegateSorter |
Wrappers internos filter/sorter basados en delegates. |
Scripts/Filter/Filters/CategoryFilter.cs |
CategoryFilter |
Filtro integrado por categoría. |
Scripts/Filter/Filters/CompositeFilter.cs |
CompositeFilter |
Filtro compuesto integrado. |
Scripts/Filter/Filters/NameSearchFilter.cs |
NameSearchFilter |
Filtro integrado de búsqueda por nombre. |
Scripts/Filter/Filters/RarityRangeFilter.cs |
RarityRangeFilter |
Filtro integrado por rango de rareza. |
Scripts/Filter/Sorters/CategorySorter.cs |
CategorySorter |
Sorter integrado por categoría. |
Scripts/Filter/Sorters/CompositeSorter.cs |
CompositeSorter |
Sorter compuesto integrado. |
Scripts/Filter/Sorters/NameSorter.cs |
NameSorter |
Sorter integrado por nombre. |
Scripts/Filter/Sorters/RaritySorter.cs |
RaritySorter |
Sorter integrado por rareza. |
Scripts/Filter/Sorters/SortValueSorter.cs |
SortValueSorter |
Sorter integrado por sort value. |
Scripts/Filter/Sorters/StackCountSorter.cs |
StackCountSorter |
Sorter integrado por cantidad en stack. |
Ejemplo: Demo1 Inventories
| File | Types | Rol |
|---|---|---|
Examples/Demo1 Inventories/ItemExampleSO.cs |
ItemExampleSO |
Datos simples de item mediante ScriptableObject usados por la demo introductoria del inventario. |
Examples/Demo1 Inventories/Adapters/ItemAdapterSoAdapter.cs |
ItemAdapterSoAdapter |
Adapter que expone ItemExampleSO al sistema de inventario. |
Examples/Demo1 Inventories/DataBindings/ItemsSOInventoryDataBinding.cs |
ItemsSOInventoryDataBinding |
Binding basado en listas que conecta las listas de items de la demo con la UI del inventario. |
Examples/Demo1 Inventories/DataAmountInBinding.cs |
DataAmountInBinding |
Helper UI que muestra la cantidad de elementos en el demo binding. |
Examples/Demo1 Inventories/ItemTypeExampleFilterRule.cs |
ItemTypeExampleFilterRule |
Rule específica de la demo que muestra cómo restringir drops por categoría/tipo de item. |
Ejemplo: Demo2 Loot
| File | Types | Rol |
|---|---|---|
Examples/Demo2 Loot/Scripts/Core/IInteractable.cs |
IInteractable |
Contrato simple de interacción para objetos del mundo en la loot demo. |
Examples/Demo2 Loot/Scripts/Core/Chest.cs |
Chest |
Cofre interactivo que posee datos de loot y comportamiento de apertura de UI. |
Examples/Demo2 Loot/Scripts/Core/ItemController.cs |
ItemController |
Componente de interacción para items/cofres del lado del mundo. |
Examples/Demo2 Loot/Scripts/ItemExampleWith3DSO.cs |
ItemExampleWith3DSO |
Datos de item en ScriptableObject para el ejemplo de loot/mundo. |
Examples/Demo2 Loot/Scripts/ItemAdapterSoWith3DAdapter.cs |
ItemAdapterSoWith3DAdapter |
Adapter para los items de la loot demo, incluyendo datos de filtro. |
Examples/Demo2 Loot/Scripts/DataBinding/ChestInventoryDataBinding.cs |
ChestInventoryDataBinding |
Binding del contenido del inventario del cofre. |
Examples/Demo2 Loot/Scripts/DataBinding/PlayerInventoryDataBinding.cs |
PlayerInventoryDataBinding |
Binding del inventario del jugador en la loot demo. |
Examples/Demo2 Loot/Scripts/Player/PlayerController.cs |
PlayerController |
Controlador/movimiento simple del jugador para la escena. |
Examples/Demo2 Loot/Scripts/Player/PlayerInteraction.cs |
PlayerInteraction |
Realiza raycasts/comprobaciones de interacción y abre/usa objetos del mundo. |
Examples/Demo2 Loot/Scripts/Player/PlayerInventoryData.cs |
PlayerInventoryData |
Contenedor de datos del lado del jugador para el inventario de la demo. |
Examples/Demo2 Loot/Scripts/UI/LootUIController.cs |
LootUIController |
Abre/cierra y refresca la loot UI. |
Examples/Demo2 Loot/Scripts/World3D/WorldItem.cs |
WorldItem |
Representación 3D de pickup en el mundo. |
Examples/Demo2 Loot/Scripts/World3D/WorldDropZone.cs |
WorldDropZone |
Target de drop en world-space para soltar items fuera de la UI y devolverlos a la escena. |
Ejemplo: Demo3 Craft
| File | Types | Rol |
|---|---|---|
Examples/Demo3 Craft/Data/MinecraftItemSO.cs |
CraftItemSO |
Definición de item en ScriptableObject usada por la crafting demo. |
Examples/Demo3 Craft/Data/RuntimeItem.cs |
RuntimeItem |
Wrapper/model runtime del item usado por la demo donde hace falta. |
Examples/Demo3 Craft/Adapters/MinecraftItemAdapterAdapter.cs |
CraftItemAdapterAdapter |
Adapter que expone los items de la crafting demo a la UI del inventario. |
Examples/Demo3 Craft/Crafting/CraftingRecipePattern.cs |
CraftingRecipePattern |
Definición serializada del patrón/grid de receta. |
Examples/Demo3 Craft/Crafting/CraftingRecipeSO.cs |
CraftingRecipeSO |
Asset ScriptableObject de receta. |
Examples/Demo3 Craft/Crafting/CraftingManager.cs |
CraftingManager |
Controlador de dominio de la demo que evalúa recetas y mantiene el estado del resultado de craft. |
Examples/Demo3 Craft/DataBindings/MainInventoryDataBinding.cs |
MainInventoryDataBinding |
Binding del inventario principal del jugador. |
Examples/Demo3 Craft/DataBindings/HotbarDataBinding.cs |
HotbarDataBinding |
Binding del hotbar. |
Examples/Demo3 Craft/DataBindings/CraftTableDataBinding.cs |
CraftTableDataBinding |
Binding de los slots de entrada de la crafting grid. |
Examples/Demo3 Craft/DataBindings/CraftResultDataBinding.cs |
CraftResultDataBinding |
Binding orientado a lectura para el slot de salida del craft. |
Examples/Demo3 Craft/Editor/CraftingRecipePatternPropertyDrawer.cs |
CraftingRecipePatternPropertyDrawer |
Custom editor drawer para authoring de recipe patterns. |
Ejemplo: Demo4 Trading
| File | Types | Rol |
|---|---|---|
Examples/Demo4 Trading/Data/ItemType.cs |
ItemType |
Enum de la demo que describe categorías de item para trading/equipment. |
Examples/Demo4 Trading/TradableItemSO.cs |
TradableItemSO |
Definición ScriptableObject del item del comerciante. |
Examples/Demo4 Trading/Data/TradableItemModel.cs |
TradableItemModel |
Modelo runtime del item comerciable usado del lado del jugador. |
Examples/Demo4 Trading/Data/PlayerData.cs |
PlayerData |
Modelo de datos de dinero/inventario del jugador. |
Examples/Demo4 Trading/Data/MerchantData.cs |
MerchantData |
Modelo de datos de inventario/precios del comerciante. |
Examples/Demo4 Trading/Data/TradingEconomyManager.cs |
TradingEconomyManager, Merchant |
Gestor de la demo que almacena el estado de la economía y los datos de comercio de jugador/comerciante. |
Examples/Demo4 Trading/Adapters/ITradableItem.cs |
ITradableItem |
Interface compartida para cualquier cosa que tenga metadatos específicos de comercio. |
Examples/Demo4 Trading/Adapters/TradableSoAdapter.cs |
TradableSoAdapter |
Adapter para items ScriptableObject del lado del comerciante. |
Examples/Demo4 Trading/Adapters/TradableItemAdapterModelAdapter.cs |
TradableItemAdapterModelAdapter |
Adapter para runtime tradable item models del jugador. |
Examples/Demo4 Trading/Converters/MerchantItemAdapterConverter.cs |
MerchantItemAdapterConverter |
Convierte items entrantes al modelo de datos/adapter del comerciante. |
Examples/Demo4 Trading/Converters/ModelItemAdapterConverter.cs |
ModelItemAdapterConverter |
Convierte items entrantes al modelo de datos/adapter runtime del jugador. |
Examples/Demo4 Trading/DataBindings/IMerchantInventory.cs |
IMerchantInventory |
Marker interface para bindings/componentes del inventario del comerciante. |
Examples/Demo4 Trading/DataBindings/TradingHelper.cs |
TradingHelper |
Métodos utility de comercio para comprobaciones de precio, asequibilidad y side effects. |
Examples/Demo4 Trading/DataBindings/PlayerInventoryDataBinding.cs |
PlayerInventoryDataBinding |
Binding del inventario del jugador con transfer-domain hooks para reglas de comercio. |
Examples/Demo4 Trading/DataBindings/MerchantInventoryDataBinding.cs |
MerchantInventoryDataBinding |
Binding del inventario del comerciante con conversión y comportamiento específico de trading. |
Examples/Demo4 Trading/DataBindings/EquipmentInventoryDataBinding.cs |
EquipmentInventoryDataBinding |
Binding de slots de equipamiento para la escena de trading/equipment. |
Examples/Demo4 Trading/UI/PlayerGoldView.cs |
PlayerGoldView |
Vista UI que muestra el oro actual del jugador. |
Examples/Demo4 Trading/UI/SelectedPurchasePriceView.cs |
SelectedPurchasePriceView |
Vista UI que muestra el precio del item actualmente seleccionado. |
Ejemplo: Demo5 Containers
| File | Types | Rol |
|---|---|---|
Examples/Demo5 Containers/Scripts/Data/BaseItemSO.cs |
BaseItemSO |
Definición base ScriptableObject de item para la container demo. |
Examples/Demo5 Containers/Scripts/Data/ContainerItemSO.cs |
ContainerItemSO |
Definición de item para items que contienen otro inventario. |
Examples/Demo5 Containers/Scripts/Data/IContainerizeItemInstance.cs |
IContainerizeItemInstance |
Interface para runtime item instances que pueden exponer comportamiento de contenedor. |
Examples/Demo5 Containers/Scripts/Data/ItemInstance.cs |
ItemInstance |
Implementación normal de runtime item instance. |
Examples/Demo5 Containers/Scripts/Data/ContainerItemInstance.cs |
ContainerItemInstance |
Runtime item instance que posee datos de inventario anidado. |
Examples/Demo5 Containers/Scripts/Adapters/ContainerItemAdapterAdapter.cs |
ContainerItemAdapterAdapter |
Adapter que expone a la UI los runtime items de la container demo. |
Examples/Demo5 Containers/Scripts/Bindings/PlayerContainerInventoryDataBinding.cs |
PlayerContainerInventoryDataBinding |
Binding del inventario principal del jugador en la container demo. |
Examples/Demo5 Containers/Scripts/Bindings/ContainerInventoryDataBinding.cs |
ContainerInventoryDataBinding |
Binding del inventario anidado del contenedor actualmente abierto. |
Examples/Demo5 Containers/Scripts/ContainerDemoManager.cs |
ContainerDemoManager |
Scene manager que mantiene el estado del contenedor activo y coordina la demo. |
Examples/Demo5 Containers/Scripts/UI/ContainerUIController.cs |
ContainerUIController |
Controla la apertura, cambio y presentación de la UI de contenedores anidados. |
Examples/Demo5 Containers/Scripts/ContextMenu/OpenContainerMenuEntrySO.cs |
OpenContainerMenuEntrySO |
Entrada de context menu que abre un item contenedor. |
Examples/Demo5 Containers/Scripts/Events.cs |
Events |
Nombres/helpers de eventos compartidos usados dentro de la container demo. |
Ejemplo: Demo6 Shaped Items
| File | Types | Rol |
|---|---|---|
Examples/Demo6 Shaped Items/ShapedItemExampleSO.cs |
ShapedItemExampleSO |
Definición ScriptableObject base para shaped items rectangulares mediante width/height. |
Examples/Demo6 Shaped Items/ComplexShapedItemExampleSO.cs |
ComplexShapedItemExampleSO |
Definición ScriptableObject para un footprint no rectangular mediante una máscara bool de celdas ocupadas. |
Examples/Demo6 Shaped Items/Adapters/ShapedItemAdapter.cs |
ShapedItemAdapter |
Adapter que implementa IItemPlacementShapeProvider y expone un ComplexPlacementShape. |
Examples/Demo6 Shaped Items/DataBindings/ShapedItemsInventoryDataBinding.cs |
ShapedPlacementSeed, ShapedItemsInventoryDataBinding |
Binding placement-aware que guarda item, anchor index y orientation. |
Examples/Demo6 Shaped Items/Editor/ComplexShapedItemExampleSOEditor.cs |
ComplexShapedItemExampleSOEditor |
Inspector personalizado con grid clickable para editar un footprint complejo sobre el icon sprite. |
Qué abrir primero para tareas comunes
| Si necesitas... | Abre primero estos archivos |
|---|---|
| Vincular tus propios datos de inventario basados en lista | InventoryDataBindingBase.cs, ListInventoryDataBinding.cs, un demo binding de Demo1 o Demo4 |
| Construir slots fijos de equipamiento | MappedSlotInventoryDataBinding.cs, EquipmentInventoryDataBinding.cs |
| Entender la transferencia drag/drop | InventoryDropProcessor.cs, InventoryTransferEngine.cs, IStrategy.cs, PlacementCandidate.cs |
| Añadir drag rules personalizadas | IDragRule.cs, BuiltInRules.cs, CompositeRule.cs |
| Dar soporte a quick transfer | AutoTransferService.cs, AutoTransferAction.cs, AutoTransferAnimationStrategy.cs |
| Añadir input bindings personalizados | InteractionBindingsProfile.cs, InputEventRouter.cs, SlotInteractionActions.cs |
| Añadir acciones de context menu | IContextMenuEntry.cs, ContextMenuEntryDefinitionSO.cs, ContextMenuManager.cs |
| Añadir contenido de tooltip | IDescribable.cs, TooltipManager.cs, DefaultTooltipView.cs |
| Entender la integración de world drop | DropAreaBase.cs, InventoryDropArea.cs, WorldDropZone.cs |
| Implementar conversión de items entre inventarios | IItemAdapterConverter.cs, TransferItemConversionUtility.cs, converters de Demo4 |
| Crear items multi-celda en un grid inventory | PlacementInventoryDataBinding.cs, IPlacementInventory.cs, ShapedItemAdapter.cs, Demo6 Shaped Items |