Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Sincronizar readyToBegin

Iniciado por Shady, Febrero 29, 2016, 06:21:53 PM

Tema anterior - Siguiente tema
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?

Etiquetas: