I am want to generate life system every 30 mints even game playing or not how it is possible...

usingUnityEngine;
usingSystem.Collections;
usingSystem;

publicclassLivesAddScripts : MonoBehaviour
{

DateTimecurrentDate;
DateTimeoldDate;

DateTimeonlineOldDate;
DateTimeonlineCurrentDate;
staticintaddBothOnlineOffline;

publicintk;
staticintminutes ;

publicTextMeshl;

voidAwake()
{
Game.LoadGameSettings ();
}

voidStart()
{

//PlayerPrefs.DeleteAll ();
minutes = 0;
currentDate = System.DateTime.Now;
onlineOldDate = System.DateTime.Now;

longtemp = Convert.ToInt64(PlayerPrefs.GetString(“sysString”));
DateTimeoldDate = DateTime.FromBinary(temp);
//print("oldDate: " + oldDate);
TimeSpandifference =currentDate.Subtract(oldDate);
k= difference.Minutes;
//print("Difference: " + k);
//InvokeRepeating (“GenerateLife”, 60f, 60f);
InvokeRepeating (“AddTime”, 60f, 60f);
l.text = “Life:” + Game.lifeCounter;
Game.lifeTime += k;
Game.SaveGameSettings ();
print (“l” + k);
print (“Total” + Game.lifeTime);

}

voidUpdate()
{

onlineCurrentDate = System.DateTime.Now;
minutes = onlineCurrentDate.Minute - onlineOldDate.Minute;
//print (“Minutes” +minutes);
addBothOnlineOffline= Math.Abs(k+minutes);

}

voidAddTime()
{
Game.lifeTime =Game.lifeTime+1;
Game.SaveGameSettings ();
print (“Total” + Game.lifeTime);
}

voidGenerateLife()
{
if (Game.lifeTime >= 30 && Game.lifeCounter < 5)
{
Game.lifeCounter += 1;
//Game.lifeTime-=30;
Game.SaveGameSettings();
Game.LoadGameSettings();
}

if (Game.lifeTime >= 60 && Game.lifeCounter < 4)
{
Game.lifeCounter += 2;
//Game.lifeTime-=60;
Game.SaveGameSettings();
Game.LoadGameSettings();
}
if (Game.lifeTime >= 60 && Game.lifeCounter < 5)
{
Game.lifeCounter += 1;
//Game.lifeTime-=30;
Game.SaveGameSettings();
Game.LoadGameSettings();
}

if (Game.lifeTime >= 90 && Game.lifeCounter < 3)
{
Game.lifeCounter += 3;
//Game.lifeTime-=90;
Game.SaveGameSettings();
Game.LoadGameSettings();
}
if (Game.lifeTime >= 90 && Game.lifeCounter < 4)
{
Game.lifeCounter += 2;
//Game.lifeTime-=60;
Game.SaveGameSettings();
Game.LoadGameSettings();
}
if (Game.lifeTime >= 90 && Game.lifeCounter < 5)
{
Game.lifeCounter += 1;
//Game.lifeTime-=30;
Game.SaveGameSettings();
Game.LoadGameSettings();
}
if (Game.lifeTime >= 120 && Game.lifeCounter < 2)
{
Game.lifeCounter += 4;
//Game.lifeTime-=120;
Game.SaveGameSettings();
Game.LoadGameSettings();
}
if (Game.lifeTime >= 120 && Game.lifeCounter < 3)
{
Game.lifeCounter += 3;
//Game.lifeTime-=90;
Game.SaveGameSettings();
Game.LoadGameSettings();
}
if (Game.lifeTime >= 120 && Game.lifeCounter < 4)
Game.lifeCounter+=2;
//Game.lifeTime-=60;
Game.SaveGameSettings();
Game.LoadGameSettings();

if (Game.lifeTime >= 120 && Game.lifeCounter < 5)
{
Game.lifeCounter += 1;
//Game.lifeTime-=30;
Game.SaveGameSettings();
Game.LoadGameSettings();
}

if (Game.lifeTime >= 150 && Game.lifeCounter < 1)
{
Game.lifeCounter += 5;
//Game.lifeTime-=150;
Game.SaveGameSettings();
Game.LoadGameSettings();
}
if (Game.lifeTime >= 150 && Game.lifeCounter < 2)
{
Game.lifeCounter += 4;
//Game.lifeTime-=120;
Game.SaveGameSettings();
Game.LoadGameSettings();
}
if (Game.lifeTime >= 150 && Game.lifeCounter < 3)
{
Game.lifeCounter += 3;
//Game.lifeTime-=90;
Game.SaveGameSettings();
Game.LoadGameSettings();
}
if (Game.lifeTime >= 150 && Game.lifeCounter < 4)
{
Game.lifeCounter += 2;
//Game.lifeTime-=60;
Game.SaveGameSettings();
Game.LoadGameSettings();
}
if (Game.lifeTime >= 150 && Game.lifeCounter < 5)
{
Game.lifeCounter += 1;
//Game.lifeTime-=30;
Game.SaveGameSettings();
Game.LoadGameSettings();
}

}

voidOnApplicationQuit()
{

PlayerPrefs.SetString(“sysString”, System.DateTime.Now.ToBinary().ToString());

//Game.lifeCounter-=1;
//Game.SaveGameSettings();

}

}

every things is working fine when ever i reload the game the value of k(game offline time) added please suggest me how i solve this thanx

Please always use CODE tags when pasting source code. It improves readability a lot.

usingUnityEngine;
usingSystem.Collections;
usingSystem;

publicclassLivesAddScripts : MonoBehaviour
{

DateTimecurrentDate;
DateTimeoldDate;

DateTimeonlineOldDate;
DateTimeonlineCurrentDate;
staticintaddBothOnlineOffline;

publicintk; //timewhenapplicationonbackgrond
staticintminutes ;

publicTextMeshl;

voidAwake()
{
Game.LoadGameSettings ();
}

voidStart()
{

minutes = 0;
currentDate = System.DateTime.Now;
onlineOldDate = System.DateTime.Now;

longtemp = Convert.ToInt64(PlayerPrefs.GetString(“sysString”));
DateTimeoldDate = DateTime.FromBinary(temp);
//print("oldDate: " + oldDate);
TimeSpandifference =currentDate.Subtract(oldDate);
k= difference.Minutes;
//print("Difference: " + k);

InvokeRepeating (“AddTime”, 60f, 60f);
l.text = “Life:” + Game.lifeCounter;
Game.lifeTime += k; //savetimetoplayerPrefs
Game.SaveGameSettings ();
print (“l” + k);
print (“Total” + Game.lifeTime);

}

voidUpdate()
{

onlineCurrentDate = System.DateTime.Now;
minutes = onlineCurrentDate.Minute - onlineOldDate.Minute;
//print (“Minutes” +minutes);
addBothOnlineOffline= Math.Abs(k+minutes);

}

voidAddTime() //thismethodaddtimeafretiminuteswhenapplicationforeground
{
Game.lifeTime =Game.lifeTime+1;
Game.SaveGameSettings ();
print (“Total” + Game.lifeTime);
}