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