Example #1
0
 public override void Update()
 {
     if (base.Input.Tap.HasValue)
     {
         Widget widget = HitTestGlobal(base.Input.Tap.Value);
         if (widget != null && (widget == this || widget.IsChildWidgetOf(this)))
         {
             m_tapsCount++;
         }
     }
     if (m_tapsCount >= 5)
     {
         m_tapsCount = 0;
         MotdManager.ForceRedownload();
         AudioManager.PlaySound("Audio/UI/ButtonClick", 1f, 0f, 0f);
     }
     if (base.Input.IsKeyDownOnce(Key.PageUp))
     {
         GotoLine(m_currentLineIndex - 1);
     }
     if (base.Input.IsKeyDownOnce(Key.PageDown))
     {
         GotoLine(m_currentLineIndex + 1);
     }
     if (m_lines.Count > 0)
     {
         m_currentLineIndex %= m_lines.Count;
         double realTime = Time.RealTime;
         if (m_lastLineChangeTime == 0.0 || realTime - m_lastLineChangeTime >= (double)m_lines[m_currentLineIndex].Time)
         {
             GotoLine((m_lastLineChangeTime != 0.0) ? (m_currentLineIndex + 1) : 0);
         }
         float num  = 0f;
         float num2 = (float)(realTime - m_lastLineChangeTime);
         float num3 = (float)(m_lastLineChangeTime + (double)m_lines[m_currentLineIndex].Time - 0.33000001311302185 - realTime);
         SetWidgetPosition(position: new Vector2((!(num2 < num3)) ? (base.ActualSize.X * (1f - MathUtils.PowSign(MathUtils.Sin(MathUtils.Saturate(1.5f * num3) * (float)Math.PI / 2f), 0.33f))) : (base.ActualSize.X * (MathUtils.PowSign(MathUtils.Sin(MathUtils.Saturate(1.5f * num2) * (float)Math.PI / 2f), 0.33f) - 1f)), 0f), widget: m_containerWidget);
         m_containerWidget.Size = base.ActualSize;
     }
     else
     {
         m_containerWidget.Children.Clear();
     }
 }