Avisos y diálogos (MCUIK_Notify)
Funciona solo en clientes. Se anima solo, con su propio bucle; no hay que llamarlo cada fotograma.
Tarjetas laterales (toasts)
MCUIK_Notify.Toast(string icon, string title, string body, Color accent = null, float seconds = 0);
- Entrada: deslizando desde la derecha.
- Apilado: los nuevos van abajo y como mucho hay 4 a la vez; si sale uno más, el más viejo se va.
- Tiempo: una línea fina abajo se vacía con el tiempo. Con
seconds <= 0dura lo que se tarda en leerlo (entre 5 y 16 s). - Posición: se cambia con
MCUIK_Notify.s_fToastRightys_fToastBottom, en píxeles desde la esquina de abajo a la derecha.
MCUIK_Notify.Toast("zone", "Zona liberada", "<b>Agüimes</b> vuelve a ser española.", MCUIK_Theme.Success());
MCUIK_Notify.Toast("alert", "Contraataque", "Llegan en 6 minutos.", MCUIK_Theme.Danger());
Diálogo (quién habla)
MCUIK_Notify.Dialogue(string icon, string speaker, string line, Color accent = null, float seconds = 0, int tag = -1);
- Abajo en el centro, de uno en uno (cola de hasta 6).
- El nombre de quien habla sale en mayúsculas (con tildes), y hay una insignia con su icono y una línea de tiempo.
- Con
seconds <= 0dura lo que se tarda en leer la línea (entre 5 y 26 s). Si hay voz, pasa su duración. - Si se acumulan más de dos líneas sin voz, la que se muestra dura un 30 % menos.
Voz
Cuando una línea empieza a verse se dispara OnDialogueShown() con su tag. Úsalo para reproducir la voz justo a la vez:
MCUIK_Notify.OnDialogueShown().Insert(PonerVoz); // una vez al iniciar (quítalo antes con Remove si reinicias)
static void PonerVoz(int tag)
{
if (tag >= 0)
MiSistemaDeVoces.Play(tag);
}
int voz = MiSistemaDeVoces.Find(texto);
MCUIK_Notify.Dialogue("radio", "Capitán Lustre", texto, MCUIK_Theme.Accent(), MiSistemaDeVoces.Duracion(voz) + 1.5, voz);
Otras funciones
| Función | Para qué |
|---|---|
SetHidden(bool) | Ocultar los avisos un rato (siguen contando el tiempo). Con un diálogo del juego abierto se ocultan solos. |
ReadTime(texto) | Segundos que se tarda en leer un texto. |
CountToasts(), CurrentDialogue(), QueuedDialogues() | Para pruebas automáticas. |
Reset() | Al empezar una partida nueva. |