Save current time when Game Over, then compare to new current time and get the difference?
Hello everyone! I'm working on this:
I have 5 actual lives of the 5 Max lives capacity (full lives). When I GameOver I store the current DateTime and Add 30 min. to auto-fill 1 life. If I lose again I'll add 30 more min. to fill another life and so.
Is like that popular mobile games system to refill lives like TwoDots or Folt.
The problem is I have troubles with my code, it is no working :/ I'm not getting the difference between the start of the counter and the actual time. This is my code:
public class myClass : MonoBehaviour {
public int Max_lives = 5;
public int Actual_lives;
DateTime time_start;
DateTime time_now;
DateTime last_time;;
void Start () {
if (!PlayerPrefs.HasKey("Actual_lives_ready"))
{
PlayerPrefs.SetInt("Actual_lives_ready", Max_lives);
}
}
void Update ()
{
time_now = DateTime.Now;
if (Actual_lives < Max_lives)
{
for (int aument = Actual_lives; aument < Max_lives; aument++)
{
time_start.AddMinutes(30);
TimeSpan diff = tiempo_now.Subtract(time_start);
if (time_now >= time_start) // Here I want to get the difference between the two times, I think I dont get it yet. if already pass 30 min after time_start then:
{
Actual lives = actual lives + 1;
}
}
}
}
public void GameOver()
{
if (Actual_lives == Max_lives)
{
tiempo_inicio = DateTime.Now;
PlayerPrefs.SetString("Hour_Start", tiempo_inicio.ToString());
}
Actual_lives = Actual_lives - 1;
}
}
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220612035404im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Counting Days Using In-Game Time System? 1 Answer
Get device time type(24h or am/pm) 0 Answers
Seconds from now to seven o'clock. 1 Answer