Hola estimados, como puedo hacer para sincronizar la variable readyToBegin al conectar un jugador?El problema es que cuando conecto y hay jugadores listos en el lobby, al jugador nuevo no le muestra quien esta listo y quien no.Que puedo hacer?Saludos
Hola,
Ayer estuve trabajando con eso y tenia el mismo problema que tienes ahora.
Lo que tienes que hacer es hacer un jugador con el NetworkLobbyPlayer, y que cada vez que se presione un boton se envie cualquiera de estas dos funciones:
SendReadyToBeginMessage(); //para cuando estamos listos para empezar
SendNotReadyToBeginMessage(); //para cuando no estamos listos
//En mi caso mi script fue asi.
//Esta es la función que va a ir en el botón
public void ImReady(){
//Si el bool 'Ready' es false, se volverá true y enviará que estamos listos.
if (!Ready) {
SendReadyToBeginMessage ();
Ready = true;
} else {
//Si el bool 'Ready' es true, se volverá false y enviará que NO estamos listos
SendNotReadyToBeginMessage ();
Ready = false;
}
}
[quote author=MatiasBoyer" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35280" data-ipsquote-contentcommentid="127641">Hola,
Ayer estuve trabajando con eso y tenia el mismo problema que tienes ahora.
Lo que tienes que hacer es hacer un jugador con el NetworkLobbyPlayer, y que cada vez que se presione un boton se envie cualquiera de estas dos funciones:
SendReadyToBeginMessage(); //para cuando estamos listos para empezarSendNotReadyToBeginMessage(); //para cuando no estamos listos
//En mi caso mi script fue asi.
//Esta es la función que va a ir en el botón
public void ImReady(){
//Si el bool 'Ready' es false, se volverá true y enviará que estamos listos.
if (!Ready) {
SendReadyToBeginMessage ();
Ready = true;
} else {
//Si el bool 'Ready' es true, se volverá false y enviará que NO estamos listos
SendNotReadyToBeginMessage ();
Ready = false;
}
}
[/quote]Gracias por la respuesta. Eso lo se, no es exactamente lo que pregunte. Mira lo que pasa si tienes un lobby con 3 jugadores adentro y los 3 están listos y entra un nuevo jugador, este nuevo jugador no va a ver los estados de los 3 anteriores como listo...Saludos.
Has probado a sobreescribir 'OnLobbyClientEnter()'? Cuando un jugador se conecta se ejecuta en todos los NetworkBehaviour, entonces en ese momento vuelves a llamar la función?