Noticias

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

Unity y Gamesparks

Iniciado por Tinkertailor9, Septiembre 21, 2016, 12:11:04 PM

Tema anterior - Siguiente tema
Septiembre 21, 2016, 12:11:04 PM Ultima modificación: Septiembre 21, 2016, 03:44:37 PM por pioj
Buenoas días.
 
Estamos terminando un juego de GPS para móviles con varias escenas, con un registro de usuarios, equipos y puntuaciones.
 
En la pantalla aparece la información del jugador y su equipo en cada escena.
 
El problema es que si en algún momento se apaga la pantalla del móvil, al pasar a la siguiente escena se pierde la información del jugador y el equipo (pone player y team en lugar del nombre real)
 
Hemos escrito de esta manera el GlobalControl.cs:
 

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
    public class GlobalControl : MonoBehaviour {
    
    private static GlobalControl instance = null;
    private Text PlayerName;
    private Text TeamName;
    void Awake ()
    {
        if (instance == null)
        {
            instance = this;
            DontDestroyOnLoad(this.gameObject);
        }  
        else
        {
            Destroy(this.gameObject);
        }
    }
    public void Start()
    {
        PlayerName = GameObject.Find ("PlayerName").GetComponent<Text> ();
        TeamName = GameObject.Find ("TeamName").GetComponent<Text> ();
        new GameSparks.Api.Requests.AccountDetailsRequest ()
            .SetDurable(true)
            .Send ((response) => {
                PlayerName.text = response.DisplayName;
            }   );
        new GameSparks.Api.Requests.GetMyTeamsRequest()
            .SetDurable(true)
            .Send(teamResp => {
                if(!teamResp.HasErrors)
                {
                    foreach(var teams in teamResp.Teams)
                    {
                        Debug.Log("Equipo: " + teams.TeamId);
                        TeamName.text = teams.TeamId;
                    }
                }
            }   );
        }
}

 

Alguien podría ayudarnos? Un saludo y gracias

Eso parece que sea cosa del componentes Text, que al cambiar de escena toma el valor asignado por defecto en la escena.
 
Tendrías que volver a pasarle los nombres al cambiar de escena.

Sí. Obviamente, no parece que los esté guardando en ningún sitio...

Creo que recoge la info de GameSparks y está previamente guardada. Si quieres impedir que la pantalla del dispositivo se apague utiliza:
 
https://docs.unity3d.com/ScriptReference/Screen-sleepTimeout.html
 
 

Etiquetas: