Как уменьшить скорость счетчика на Unity?

Вот весь скрипт. Если его подключить к тексу, то числа очень быстро идет. Так же я хочу чтобы числа не так быстро шли. Например за секунду чтоб добавлялась 2 значение, а не 500. И чтоб его можно было изменять не в коде. Так же в скрипте есть ограничение. Заранее спасибо

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class top : MonoBehaviour
{
    public Text textScore;
    public int score;

    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        textScore.text = "" + score;
        score--;
    }
}

Ответы (1 шт):

Автор решения: aepot

Во-первых, периодически вызываемую игровую логику следует размещать в FixedUpdate, а не в Update, тогда частота вычислений не будет зависеть от FPS. Во-вторых, для периодических задач есть корутины. В-третьих, называйте классы с большой буквы, так принято в C#.

public class Top : MonoBehaviour
{
    public Text textScore;
    public int score;

    void Start()
    {
        StartCoroutine(CountPoints());
    }

    IEnumerator CountPoints()
    {
        while (score > 0) // корутина остановится, когда закончится цикл
        {
            textScore.text = score.ToString();
            score--;
            yield return new WaitForSeconds(1); // пауза 1 сек
        }
    }
}
→ Ссылка