public void UpdateTimersSinceLastClosed()
    {
        DateTime lastOpenTime = DateTime.Parse(PlayerPrefs.GetString(LAST_CLOSED_KEY, DateTime.Now.ToString()));
        TimeSpan timeSpan     = (DateTime.Now - lastOpenTime);

        foreach (KeyValuePair <string, RealtimeTimer> kvp in timers)
        {
            RealtimeTimer timer = kvp.Value;
            timer.SubtractTime((float)timeSpan.TotalSeconds);
        }
    }
 public void SetTimer(string key, float time, RealtimeTimer.OnFinishedTimer onFinishCallback = null)
 {
     //print("RealtimeTimerCounter: Setting timer with key:" + key + ", time" + time);
     if (timers.ContainsKey(key))
     {
         timers[key].Reset(time, onFinishCallback);
     }
     else
     {
         GameObject o = Instantiate(timerPrefab);
         o.transform.SetParent(this.transform);
         RealtimeTimer timer = o.GetComponent <RealtimeTimer>();
         timer.Init(key, time, onFinishCallback);
         timers.Add(key, timer);
     }
 }
예제 #3
0
 private void SavePawnTimers()
 {
     foreach (Pawn pawn in saveGame.pawnWallet.pawns)
     {
         if (pawn != null && pawn.unlockTime > 0)
         {
             RealtimeTimer timer = timerCounter.GetTimer(pawn.GetTimerID());
             pawn.unlockTime = timer.time;
         }
     }
     foreach (Pawn pawn in saveGame.pawnWallet.extraPawns)
     {
         if (pawn != null && pawn.unlockTime > 0)
         {
             RealtimeTimer timer = timerCounter.GetTimer(pawn.GetTimerID());
             pawn.unlockTime = timer.time;
         }
     }
     SaveLoad.Save();
 }