diff --git a/Tools/Timer/Timer.cs b/Tools/Timer/Timer.cs
index 0524682..49a7e28 100644
--- a/Tools/Timer/Timer.cs
+++ b/Tools/Timer/Timer.cs
@@ -17,13 +17,21 @@ namespace SimpleTools.Timer{
public TMP_Text TimerText { get { return timer; } }
TimerType timerType;
public TimerType TimerType { get { return timerType; } }
+ TimerUpdate timerUpdate;
+ public TimerUpdate TimerUpdate { get { return timerUpdate; } }
- public void Setup(float elapsedTime, bool isPaused, TimeSpan timePlaying, TMP_Text timer, TimerType timerType, string text){
- this.elapsedTime = elapsedTime;
+ float defaultTime;
+
+ ///
+ /// Setup the timer
+ ///
+ public void Setup(float elapsedTime, bool isPaused, TimeSpan timePlaying, TMP_Text timer, TimerType timerType, TimerUpdate timerUpdate, string text){
+ this.elapsedTime = defaultTime = elapsedTime;
this.isPaused = isPaused;
this.timePlaying = timePlaying;
this.timer = timer;
this.timerType = timerType;
+ this.timerUpdate = timerUpdate;
timer.text = text;
}
@@ -34,14 +42,14 @@ namespace SimpleTools.Timer{
}else{
switch (timerType){
case TimerType.Countdown:
- elapsedTime -= Time.deltaTime;
+ elapsedTime -= timerUpdate == TimerUpdate.UnscaledTime ? Time.unscaledDeltaTime : Time.deltaTime;
if(elapsedTime < 0f){
elapsedTime = 0f;
isPaused = true;
}
break;
case TimerType.Stopwatch:
- elapsedTime += Time.deltaTime;
+ elapsedTime += timerUpdate == TimerUpdate.UnscaledTime ? Time.unscaledDeltaTime : Time.deltaTime;
break;
}
timePlaying = TimeSpan.FromSeconds(elapsedTime);
@@ -51,25 +59,37 @@ namespace SimpleTools.Timer{
}
}
+ ///
+ /// Play or resume the timer
+ ///
public void Play(){
isPaused = false;
StartCoroutine(UpdateTimer());
}
+ ///
+ /// Pause the timer
+ ///
public void Stop(){
isPaused = true;
}
+ ///
+ /// Pause and sets the time to the defaultOne
+ ///
public void ResetTimer(){
isPaused = true;
- elapsedTime = 0f;
+ elapsedTime = defaultTime;
timePlaying = TimeSpan.FromSeconds(elapsedTime);
timer.text = timePlaying.ToString("m':'ss'.'ff");
}
+ ///
+ /// Restarts the timer
+ ///
public void Restart(){
isPaused = false;
- elapsedTime = 0f;
+ elapsedTime = defaultTime;
timePlaying = TimeSpan.FromSeconds(elapsedTime);
timer.text = timePlaying.ToString("m':'ss'.'ff");
StopAllCoroutines();
diff --git a/Tools/Timer/TimerUpdate.cs b/Tools/Timer/TimerUpdate.cs
new file mode 100644
index 0000000..8a95b13
--- /dev/null
+++ b/Tools/Timer/TimerUpdate.cs
@@ -0,0 +1,6 @@
+namespace SimpleTools.Timer{
+ public enum TimerUpdate{
+ ScaledTime,
+ UnscaledTime,
+ }
+}
diff --git a/Tools/Timer/TimerUpdate.cs.meta b/Tools/Timer/TimerUpdate.cs.meta
new file mode 100644
index 0000000..930e415
--- /dev/null
+++ b/Tools/Timer/TimerUpdate.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 977b7b3a05b17c04da63124856e9ff6f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Tools/Timer/TimerUtility.cs b/Tools/Timer/TimerUtility.cs
index 90ba52e..365e412 100644
--- a/Tools/Timer/TimerUtility.cs
+++ b/Tools/Timer/TimerUtility.cs
@@ -6,7 +6,14 @@ using TMPro;
namespace SimpleTools.Timer{
public static class TimerUtility {
- public static Timer SetupTimer(this TMP_Text container, TimerType timerType, float countdownTime = 60f){
+ ///
+ /// Setup the timer
+ ///
+ /// TMPro object that will contain the timer
+ /// What type of timer will it be (Countdown, Stopwatch, Clock)
+ /// The time that will have in case it is a countdown timer
+ ///
+ public static Timer SetupTimer(this TMP_Text container, TimerType timerType, TimerUpdate timerUpdate, float countdownTime = 60f){
Timer t = container.gameObject.AddComponent();
float elapsedTime = 0f;
string text = string.Empty;
@@ -21,7 +28,7 @@ namespace SimpleTools.Timer{
text = DateTime.Now.ToString("HH:mm:ss");
break;
}
- t.Setup(elapsedTime, true, timePlaying, container, timerType, text);
+ t.Setup(elapsedTime, true, timePlaying, container, timerType, timerUpdate, text);
return t;
}
diff --git a/package.json b/package.json
index c13a739..f25e252 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "com.geri.simpletools",
- "version": "1.1.0",
+ "version": "1.1.1",
"displayName": "Simple Tools",
"description": "This package contains simple tools to use in your project.",
"unity": "2018.4",