logo
ReferenciaAPI

Objetivo

Destinatario lógico de un envío de Eco y regla de persistencia asociada.

Objetivo

Objetivo determina a quién llega una comunicación y si esa comunicación debe conservarse en el servidor para participantes futuros.

ero.Send("Abrir", Objetivo.Todos);
ero.Send("Actualizar", Objetivo.OtrosPersistente);

Modos disponibles

ObjetivoReceptorPersistenciaUso habitual
TodosTodos los jugadores actuales, incluido el emisorNoEvento visual inmediato
TodosPersistenteTodos los jugadores actualesEstado que debe reconstruirse
OtrosTodos excepto el emisorNoEl local ya aplicó el efecto
OtrosPersistenteTodos excepto el emisorEstado global sin duplicar local
HostHost del canalNoCompatibilidad o lógica delegada
DifusionTodos según su mecanismo de difusiónNoMensajes frecuentes
AdminAdministradoresNoDiagnóstico y administración
SoloPersistenteNadie inmediatamenteRegistrar estado para futuras entradas

Objetivo no decide autoridad

El destinatario determina quién recibe el mensaje. La autoridad sobre un Objeto es una cuestión diferente y debe resolverse con ownership y PuedeEnviar.

Persistencia

Los objetivos con Persistente no significan simplemente “enviar varias veces”. El servidor conserva la operación para que los jugadores que entren posteriormente puedan reconstruir el estado correspondiente.

Esto resulta útil para:

  • puertas abiertas;
  • objetos destruidos;
  • activación de eventos;
  • configuración persistente de un canal.

Ejemplo

Supón que un jugador activa una palanca y todos los jugadores deben verla activa:

ero.Send("Activar", Objetivo.TodosPersistente);

Si la animación local ya se ejecuta antes del envío y el emisor no necesita recibir la RFC de nuevo:

ero.Send("Activar", Objetivo.OtrosPersistente);

SoloPersistente

SoloPersistente permite registrar la operación en el servidor sin enviarla inmediatamente a los jugadores actuales.

Es útil cuando el estado se utilizará como parte de la reconstrucción futura y los jugadores actuales ya conocen el estado por otro mecanismo.

Objetivo y RFC

No todas las RFC deberían utilizar el mismo objetivo. La decisión depende de la semántica:

¿Es una acción remota?

       RFC

¿Quién necesita recibirla?

Objetivo

¿Debe reconstruirse después?

Persistente / no persistente

RFC

Cómo definir y enviar acciones remotas.

Paquete

Representación de bajo nivel de una comunicación.

Objetivo.cs

Definición actual de los destinatarios.

On this page