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); } }
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(); }