Untitled

mail@pastecode.io avatar
unknown
plain_text
5 months ago
662 B
2
Indexable
Never
public TMP_InputField inputField;
public TMP_Text speedText;

float startTime;
int charactersTyped;
int cpm;

void Start()
{
    inputField.onValueChanged.AddListener(OnValueChanged);
    StartTypingSpeedMeasurement();
}

void OnValueChanged(string text)
{
    charactersTyped = text.Length;
}

void StartTypingSpeedMeasurement()
{
    startTime = Time.time;
    InvokeRepeating("UpdateSpeed", 60f, 60f); // Update speed every minute
}

private void UpdateSpeed()
{
    float timeElapsed = Time.time - startTime;
    cpm = Mathf.RoundToInt(charactersTyped / timeElapsed * 60f);
    speedText.text = "Typing Speed: " + cpm + " CPM";
}