Categorías
Informática Internacional Videojuego

Funciones

En Unreal Engine se distingue entre funciones puras e impuras, siendo estas últimas las que pueden producir cambios en el estado del mundo virtual.

Relacionado con las llamada a funciones, síncrona, está el envío asíncrono de eventos. Al enviar un evento es posible que se nos «cuele» la ejecución de otros actores de por medio, cosa que no ocurre al llamar a una función.

Es posible crear una biblioteca de funciones (Blueprint Function Library) estáticas y de uso general, para poder llamarlas desde cualquier parte.

Delegados

Los delegados son una herramienta a menudo incomprendida, pero muy potente para realizar tareas asíncronas, desarrollar la interfaz de usuario o herramientas para el editor.

Programar un botón que abre una puerta al pulsarlo es fácil.. pero si también debe reproducir sonidos, generar partículas, avisar a los NPCs de que se ha abierto la sala, etc. acabamos con un botón plagado de referencias a otros sistemas, una clase fuertemente acoplada a otras clases, lo que la convierte en una pieza de software difícil de mantener y reutilizar.

Con los delegados (parecidos a los events de C# en Unity) y la programación digirida por eventos, ese botón no necesita conocer ni al gestor de sonido, ni a la IA, ni tan siquiera la puerta; sólo tiene que emitir el evento de haber sido pulsado y que los sistemas que se hayan suscrito a este tipo de eventos porque están interesados en ellos, respondan como consideren. Un emisor puede tener muchos oyentes suscritos pero a la vez permaneciendo desacoplado de ellos.

Más información

Se recomienda consultar estos otros documentos:

Esta página está licenciada bajo CC BY-NC-SA 4.0 por Laboratorios Narratech.