void Update()
 {
     if (Active)
     {
         ElapsedTime += Time.deltaTime;
         if (ElapsedTime >= TimerLength)
         {
             CurrentLoop++;
             if (OnComplete != null)
             {
                 Debug.Log("Timer complete calling " + OnComplete.GetType().Name);
                 OnComplete(this);
             }
             if (CurrentLoop >= Loops)
             {
                 Active = false;
             }
             else
             {
                 ElapsedTime -= ElapsedTime;
             }
         }
     }
 }