Skip to main content

Eventos Globales

Warudo contiene una clase EventBus que te permite suscribirte y transmitir eventos globales. Para definir una clase de evento personalizada, hereda de la clase Warudo.Core.Events.Event. Por ejemplo:

public class MyEvent : Event {
public string Message { get; }
public MyEvent(string message) {
Message = message;
}
}

Para suscribirte (escuchar) a un evento:

Context.EventBus.Subscribe<MyEvent>(e => {
Debug.Log(e.Message);
});

Para transmitir (disparar) un evento:

Context.EventBus.Broadcast(new MyEvent("Hello, world!"));

Deberías cancelar la suscripción de eventos cuando ya no necesites escucharlos:

var subscriptionId = Context.EventBus.Subscribe<MyEvent>(e => {
Debug.Log(e.Message);
});
// Más tarde
Context.EventBus.Unsubscribe<MyEvent>(subscriptionId);

Suscribiendo Eventos en Entidades

Si estás escribiendo código dentro de un tipo de entidad, puedes usar el método Subscribe directamente para evitar manejar IDs de suscripción de eventos:

// Dentro de un tipo de entidad, es decir, asset, node, plugin, structured data
Subscribe<MyEvent>(e => {
Debug.Log(e.Message);
});

Los eventos se cancelan automáticamente cuando la entidad es destruida.

Contributions

Edit on Github

Authors

Translators

Last updated on 2025.06.09