Introducción a las herramientas de desarrollo para videojuegos
Introducción
Qué son las herramientas de desarrollo
Herramientas más comunes en el mundo del desarrollo de videojuegos
Dibujando en el editor
Sistema IMGUI y Ciclo de vida de Editor
Controles: creando un botón
Creación de toolbar y gui
Gizmos
Handles
Prácticando en el editor
Shortcuts útiles del editor
Context Menus
Menu Item
Herramientas de Editor
Attributes y Property drawers
Iniciando nuestro custom Editor
Serialized properties
Optimizando nuestro custom editor
Guardar y cargar data de herramientas: json, scriptable objects, txt y csv
Encontrar assets para editor window
Editor windows: mostrando datos en el editor
Editor windows: agregando funcionalidades
Cierre del curso
Cierre del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Para mostrar la información de un 'item' en Unity, es crucial no solo obtener el 'current item' sino también asegurarse de que no sea nulo. A partir de aquí, se puede empezar a dibujar en la interfaz, creando una nueva área basada en la posición de una existente. Es importante verificar la nulidad del item antes de continuar, asegurando una interfaz más robusta.
item edit rec
, vacío con coordenadas específicas.xmax
del área de scroll anterior.var itemEditRec = new Rect(new Vector2(scrollRec.xMax, scrollRec.yMin), new Vector2(scrollWidth / 3, 200));
Una vez definida nuestra nueva área, se puede proceder a trabajar con un Backing Area
en Unity. Para mostrar propiedades se utiliza un Serialize Object
, lo cual facilita manejar y exponer los datos que sean inherentes a nuestras propiedades de item.
var so = new SerializedObject(currentItem);
var property = so.FindProperty("item");
Modificar ciertas propiedades sin permitir el cambio completo es fundamental para una buena experiencia de usuario. Aquí te muestro cómo lograrlo:
Se utiliza la función de GUI.enabled
para desactivar temporalmente la edición de ciertas propiedades, ofreciendo algo de control al usuario solo sobre elementos específicos.
GUI.enabled = false;
EditorGUILayout.PropertyField(property);
GUI.enabled = true;
int slider
, delimitando valores mínimos y máximos.text area
, facilitando una vista y edición más extensa.int price = EditorGUILayout.IntSlider("Price", currentItem.item.price, 100, 1000);
string description = EditorGUILayout.TextArea(currentItem.item.description);
Unity permite un sistema de persistencia de cambios que es intuitivo y fácil de usar:
EditorGUI.BeginChangeCheck()
y EndChangeCheck()
.EditorUtility.SetDirty(currentItem)
.Undo.RecordObject()
para permitir deshacer cambios accidentales.EditorGUI.BeginChangeCheck();
// Cambios en las propiedades
if (EditorGUI.EndChangeCheck())
{
Undo.RecordObject(currentItem, "Changed Price or Description");
currentItem.item.price = price;
currentItem.item.description = description;
EditorUtility.SetDirty(currentItem);
}
Explorando y configurando adecuadamente la edición de items en Unity permite una flexibilidad y eficiencia esenciales para cualquier proyecto. Aprovecha estas herramientas y sigue experimentando para optimizar tu flujo de trabajo.
Aportes 0
Preguntas 1
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?