public override void update() { if (MouseHandler.lmbDown()) { if (getHitBox().contains(MouseHandler.worldMouse())) { m_writing = true; m_lastPressedKeys = new Dictionary <Keys, TimeSpan>(); } else { m_writing = false; } } if (m_writing) { foreach (KeyValuePair <Keys, TimeSpan> l_keyPair in m_lastPressedKeys) { if (!KeyboardHandler.keyPressed(l_keyPair.Key)) { m_repeatKeys.Add(l_keyPair.Key); } else if (l_keyPair.Value + m_repeatTime < Game.getInstance().getGameTime().TotalGameTime) { m_repeatKeys.Add(l_keyPair.Key); } } foreach (Keys l_key in m_repeatKeys) { m_lastPressedKeys.Remove(l_key); } m_repeatKeys.Clear(); if (m_currentLocale.Equals("euSv")) { updateSweden(Game.getInstance().getGameTime()); } if (m_maxLength != 0 && m_textToShow.p_text.Length > m_maxLength) { m_textToShow.erase(m_textToShow.p_text.Length - m_maxLength); } else { while (m_textToShow.measureString().X > m_box.getWidth()) { m_textToShow.erase(1); } } m_caret.setXOffset(m_textToShow.measureString().X + 5); } }