Cliente avanzado
Estados de conexión, canales, datos de jugador y extensiones del cliente de Eco.
Cliente avanzado
ClienteJuego centraliza el estado de sesión del cliente: conexión, jugador local, canales, datos del servidor y jugador, TCP, UDP y colas. La implementación expone además el estado de unión a canales y soporte para servidor local sin sockets. fileciteturn216file0
Estados importantes
Desconectado
↓
Intentando conectar
↓
Conectado
↓
Uniéndose a canales
↓
Activo en uno o varios canalesNo confundas isConnected, isJoiningChannel e isInChannel: representan estados distintos.
Canales
channels contiene los canales actuales y IsJoiningChannel(id) / IsInChannel(id) permiten consultar un canal concreto. Esto es fundamental en un cliente multicanal.
Datos del jugador
playerData y SetPlayerData proporcionan almacenamiento asociado al jugador, separado del Nodo de un objeto. SyncPlayerData() permite forzar la sincronización del árbol completo. fileciteturn216file0
Datos del servidor
serverData representa configuración global asociada al servidor. No debe utilizarse como sustituto del estado de una partida o del estado individual de un jugador.
Ping y métricas
El cliente expone ping, bytes y paquetes enviados/recibidos y el tiempo del servidor. Estos valores son útiles para diagnóstico y telemetría, pero no deben utilizarse directamente como lógica de gameplay sin una estrategia de tolerancia a latencia.
Desconexión
La desconexión debe tratarse como un cambio de estado de la sesión. Los objetos y canales locales pueden quedar inválidos aunque referencias de Unity sigan existiendo; la integración debe escuchar los eventos apropiados y limpiar su estado.
Referencias
Cliente
Referencia general del cliente.
Diagnosticar una conexión
Workflow práctico de diagnóstico.
