This is my first question and first post here!
Well, I'm making a game on Unity going to Android and I've created a javascript to save and calculate some values.
It works like this: My game has some sliders that I use as my character's status. These sliders lose points every second , like a hunger system. It turned out that, if I closed the game, the value was . So I ended up discovering the PlayerPrefs . I made a javascript that when closing the game it would pick up the system date (seconds, minutes ... months and year) and saved . When he opened the game, he loaded this data , turned everything into seconds, took the current system date and gave the difference (also in seconds) of how long the game was closed. Based on this, it removes the bar points that would be lost if the game was open.
All very well, running on the cute Unity. Closes, loads, closes Unity, opens, and it keeps running right. I put it on my cell phone ... Nothing. I uninstalled, installed, cleaned up data, and nothing worked.
What am I doing wrong? Do I have to set something up in Unity? Is my code wrong?
Below is the javascript:
#pragma strict
//----------------------- Variaveis dos resultados -----------------------
//----------------------- Variaveis dos resultados -----------------------
//----------------------- Variaveis das Barras -----------------------
public var BarraFome : UnityEngine.UI.Slider;
public var BarraFelicidade : UnityEngine.UI.Slider;
public var BarraBanho : UnityEngine.UI.Slider;
public var BarraDormir : UnityEngine.UI.Slider;
//----------------------- Variaveis das Barras -----------------------
function Start(){
//-Pega o tempo atual
var dtnow : System.DateTime = System.DateTime.Now;
//-Pega o tempo atual
//--------------------------- Calculo das diferenças dos tempos ---------------------------
//- Pega todos os tempos da ultima vez que abriu
var dtoldSec = PlayerPrefs.GetInt("oldTimeSecond");
var dtoldMin = PlayerPrefs.GetInt("oldTimeMinute");
var dtoldHour = PlayerPrefs.GetInt("oldTimeHour");
var dtoldDay = PlayerPrefs.GetInt("oldTimeDay");
var dtoldMonth = PlayerPrefs.GetInt("oldTimeMonth");
var dtoldYear = PlayerPrefs.GetInt("oldTimeYear");
//- Pega todos os tempos da ultima vez que abriu
//- Calcula a diferença entre os segundos
var resultadoSeg = dtnow.Second - dtoldSec;
//- Calcula a diferença entre os segundos
//- Calcula a diferença entre os minutos e transforma para segundos
var resultadoMin = (dtnow.Minute - dtoldMin) * 60;
//- Calcula a diferença entre os minutos e transforma para segundos
//- Calcula a diferença entre as horas e transforma para segundos
var resultadoHora = (dtnow.Hour - dtoldHour) * 3600;
//- Calcula a diferença entre as horas e transforma para segundos
//- Calcula a diferença entre os dias e transforma para segundos
var resultadoDias = (dtnow.Day - dtoldDay)* 86400;
//- Calcula a diferença entre os dias e transforma para segundos
//- Calcula a diferença entre os meses e transforma para segundos
var resultadoMeses = (dtnow.Month - dtoldMonth)* 2592000;
//- Calcula a diferença entre os meses e transforma para segundos
//- Calcula a diferença entre os anos e transforma para segundos
var resultadoAno = (dtnow.Year - dtoldYear)* 31536000;
//- Calcula a diferença entre os anos e transforma para segundos
//- Calcula o resultado total
var resultadoTotal = resultadoSeg + resultadoMin + resultadoHora + resultadoDias + resultadoMeses + resultadoAno;
print ("resutado: " + resultadoTotal);
//- Calcula o resultado total
//--------------------------- Calculo das diferenças dos tempos ---------------------------
//--------------------------- Calculo das Barras ---------------------------
var FomeBarra = PlayerPrefs.GetFloat("FomeValor");
var FelicidadeBarra = PlayerPrefs.GetFloat("FelicidadeValor");
BarraFome.value = FomeBarra - resultadoTotal;
BarraFelicidade.value = FelicidadeBarra - resultadoTotal;
PlayerPrefs.Save();
//--------------------------- Calculo das Barras ---------------------------
}
function Update()
{
}
function CurrentTime() {
var dt : System.DateTime = System.DateTime.Now;
var d : int = dt.Day;
var mo : int = dt.Month;
var y : int = dt.Year;
var h : int = dt.Hour;
var m : int = dt.Minute;
var s : int = dt.Second;
}
function OnApplicationQuit() {
var dt : System.DateTime = System.DateTime.Now;
//-------------- Guarda o Valor das Barras --------------
PlayerPrefs.SetFloat("FomeValor", BarraFome.value);
PlayerPrefs.SetFloat("FelicidadeValor", BarraFelicidade.value);
//-------------- Guarda o Valor das Barras --------------
//-------------- Guarda o Valor dos Tempos --------------
PlayerPrefs.SetInt("oldTimeSecond", dt.Second);
PlayerPrefs.SetInt("oldTimeMinute", dt.Minute);
PlayerPrefs.SetInt("oldTimeHour", dt.Hour);
PlayerPrefs.SetInt("oldTimeDay", dt.Day);
PlayerPrefs.SetInt("oldTimeMonth", dt.Month);
PlayerPrefs.SetInt("oldTimeYear", dt.Year);
PlayerPrefs.Save();
//-------------- Guarda o Valor dos Tempos --------------
}