Bitácora 21 Arrastrar y Soltar

Bitácora de desarrollo: sistema seguro de arrastrar y soltar para prefabs en Unity, con tooltips, feedback visual y logs [Anteater], mejoras en Inventory y GearSlotUI.

18 sept 2025 • 5 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Bitácora 21 Arrastrar y Soltar

16 de septiembre de 2025 — Inventory Highlight y sistema de selección

Objetivo: reemplazar la lógica de arrastrar y soltar poco fiable por un sistema seguro para prefabs basado en clic para seleccionar que permita mostrar tooltips y retroalimentación visual del objeto activo.

Qué intentamos y falló: implementamos el flujo completo de IBeginDragHandler, separamos items del grid durante el arrastre, deshabilitamos CanvasGroup.blocksRaycasts = false al iniciar el drag. Resultado: fallo silencioso, sin logs y sin trigger de OnBeginDrag. Tras analizar jerarquías de prefabs, máscaras de canvas y bloqueadores de raycast, identificamos que el debugging exigía pensar como ingenieros de sistemas.

Causa raíz: un CanvasGroup en la raíz de itemEntryPrefab estaba bloqueando raycasts. Los clicks en tooltip funcionaban porque se procesaban antes del reparenting, pero OnBeginDrag nunca se disparaba.

Qué construimos y funcionó: fusionamos tooltip y highlight en un script seguro para prefabs. InventoryItemInteraction ahora gestiona el Tooltip mediante ItemTooltipManager, el highlight con highlightBox.SetActive(true) y lleva un singleton para el item seleccionado. Todos los logs se etiquetan con [Anteater] para aislar la consola.

Confirmado: al hacer clic en un item aparece el tooltip, se activa el highlight, se limpia el highlight anterior y la consola muestra logs [Anteater]. La retroalimentación visual es modular y limpia.

Próximos pasos: añadir lógica de compatibilidad por slot, efectos de hover, deselect en click de slot o doble clic para equipar, revisar la lógica de drag con respeto total a prefabs y construir un dashboard de debug.

17 de septiembre de 2025 — obediencia de slots, resurrección de tooltips y la mitología de Anteater

Resumen: día de sistemas profundos. Debugueamos el escaneo de slots, parcheamos la lógica de arrastre, rehíbridamos la visualización de tooltips y fortalecimos interfaces seguras para prefabs en múltiples tipos de item.

Arreglos clave: refactor del scan de slots, reemplazando barridos superficiales por GetComponentsInChildren(true) para soportar contenedores anidados. Añadimos logs [Anteater] para slots faltantes y [Butterfly] para validaciones. Se parcheó GearTabDropTarget.cs para reparentear items al soltar y se invoca GearSlotUI.AssignItemFromInteraction() para mantener obediencia de overlays y tooltips.

Resurrección de tooltip: GearSlotUI ahora enlaza InventoryItemInteraction al panel de Tooltip del GearItem y actualiza correctamente la sprite de overlay. Añadimos logs para orden de siblings, máscaras de canvas y metadatos de import de sprites.

Lógica de registro de slots: InventorySlotUI ahora incluye AssignItem(), HasItem(), GetItem() y GetAsset(). El handler de drop soporta swap de items y restauración de originales. Todos los assets tipo ScriptableObject se parchearon para implementar GetItem() de forma segura, devolviendo null cuando corresponde para mantener la seguridad del prefab.

Errores encontrados y resueltos: AssignItem faltante en InventorySlotUI, tooltip que no se actualizaba tras el drop, lógica de escaneo superficial y overlay que no renderizaba por orden de siblings y masking. Lección aprendida: la seguridad de prefabs es sagrada, la lógica de slots debe ser profunda y modular, los tooltips son frágiles y las etiquetas de debug importan.

18 de septiembre de 2025 — Overhaul de GearSlotUI y sistema de arrastre del inventario

Estado inicial: compartíamos lógica de drag entre inventario y panel de equipados. GearSlotUI soportaba drag-and-drop pero provocaba caos de escalado en prefabs; InventorySlotUI estaba estable y segura.

Ensayos y experimentos: inyectamos items listos para drag en slots de inventario mediante LoadItem() que instanciaba el prefab con contexto, OnDrop soportó swap y AssignItem obedeció contexto. En GearSlotUI el prefab escalaba de forma errática durante el drag, el rectTransform no se reseteaba al inicio del arrastre y RefreshSlot(null) limpiaba overlays prematuramente.

Arquitectura dual propuesta: capa de fondo para visual idle y toggle del prefab icon hasta que inicia el drag. Solución de escalado: forzamos anchors, pivot y sizeDelta y usamos itemIcon.rectTransform.sizeDelta para mantener fidelidad.

Regresiones y fallos: items desaparecían por llamadas Hide() incondicionales en Start, drag de gear desaparecía después del drop por RefreshSlot(null) durante el drag. Se consideró rollback a backup estable, pero se decidió preservar la lógica funcional del inventario e aislar los cambios al panel de equipados.

Pivot estratégico: eliminamos la lógica de drag de GearSlotUI, quitando IBeginDragHandler, IDragHandler e IEndDragHandler y mantuvimos OnDrop para inyección de inventario a gear. Propusimos un sistema de botón para unequip que se puede vincular a un overlay, pero se dejó en segundo plano para priorizar estabilidad.

Estado final: la lógica de drag del inventario está completamente restaurada y segura para prefabs. GearSlotUI quedó libre de drag, estable y visualmente limpia. Confirmamos sistema dual de background sprite más toggle de prefab, tooltips, asignación de slots y utilidades de debug intactas. Empecé a etiquetar debugs con palabras únicas para cortar el ruido de la consola, lo que aceleró enormemente la resolución.

Reflexión final: costó tiempo y esfuerzo adaptar arrastrar y soltar al panel de equipados, al final se priorizó la estabilidad y la modularidad. Aprendimos mucho y el proyecto empieza a sentirse como el inicio de un juego real.

Sobre Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones personalizadas, inteligencia artificial aplicada a empresas y ciberseguridad. Ofrecemos servicios integrales que incluyen desarrollo de software a medida y aplicaciones a medida, integración de agentes IA y consultoría en ia para empresas, así como soluciones de inteligencia artificial y power bi para inteligencia de negocio. También brindamos servicios de ciberseguridad y pentesting, y gestión de infraestructuras en servicios cloud aws y azure para garantizar despliegues escalables y seguros.

Palabras clave: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat