using System; using UnityEngine; using System.Collections; /// /// Handles the logic of the time counters /// public class TimeScript : MonoBehaviour { #region Enums/Structs /// /// Different digits in the time counter /// public enum ETimeNumber { Hundred0, Hundred00, Second0, Second00, Minute0, Minute00, Hour0, Hour00 } #endregion #region Fields /// /// Which digit does this tile represent? /// public ETimeNumber Type; /// /// Reference to all of the number sprites /// public Sprite[] NumberSprites; #endregion /// /// Sets the correct sprite for this digit /// /// public void SetTimeSprite(TimeSpan elapsed) { var sr = GetComponent(); switch (Type) { case ETimeNumber.Hundred0: sr.sprite = NumberSprites[(elapsed.Milliseconds / 10) % 10]; break; case ETimeNumber.Hundred00: sr.sprite = NumberSprites[(elapsed.Milliseconds / 100) % 10]; break; case ETimeNumber.Second0: sr.sprite = NumberSprites[elapsed.Seconds % 10]; break; case ETimeNumber.Second00: sr.sprite = NumberSprites[(elapsed.Seconds / 10) % 10]; break; case ETimeNumber.Minute0: sr.sprite = NumberSprites[elapsed.Minutes % 10]; break; case ETimeNumber.Minute00: sr.sprite = NumberSprites[(elapsed.Minutes / 10) % 10]; break; case ETimeNumber.Hour0: sr.sprite = NumberSprites[elapsed.Hours % 10]; break; case ETimeNumber.Hour00: sr.sprite = NumberSprites[(elapsed.Hours / 10) % 10]; break; default: throw new ArgumentOutOfRangeException(); } } }