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 read • Q2BSTUDIO Team

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.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat