Как сделать так чтобы при запуске сцены счётчик очков обнулялся?

Чтобы обнулить счетчик очков при запуске сцены в игре на C#, необходимо использовать различные методы и подходы, в зависимости от того, как реализован ваш счетчик.

Если счетчик очков представлен просто в виде переменной, то достаточно установить ей значение 0 при старте сцены. Например, если у вас есть переменная score, то в методе Start() или Awake() вы можете присвоить ей значение 0:

void Start()
{
    score = 0;
}

Если же счетчик представлен в виде отдельного класса или компонента, то можно либо обратиться к этому классу/компоненту и вызвать метод обнуления счетчика, либо использовать события и делегаты для уведомления о начале сцены и обнулении счетчика.

Например, если у вас есть класс ScoreManager, отвечающий за счетчик очков, то можно создать метод ResetScore() и вызывать его при старте сцены:

public class ScoreManager : MonoBehaviour
{
    private int score;
    
    void Start()
    {
        ResetScore();
    }

    public void ResetScore()
    {
        score = 0;
    }
}

Помимо этого, можно также использовать события Unity для уведомления о начале сцены. Для этого можно создать событие OnSceneStart и подписать на него метод обнуления счетчика:

public class GameManager : MonoBehaviour
{
    public event Action OnSceneStart;

    void Start()
    {
        OnSceneStart?.Invoke();
    }
}

public class ScoreManager : MonoBehaviour
{
    void Start()
    {
        GameManager.Instance.OnSceneStart += ResetScore;
    }

    private void ResetScore()
    {
        score = 0;
    }
}

Таким образом, вы можете выбрать подход, который лучше всего подходит для вашей конкретной архитектуры приложения и обнулить счетчик очков при запуске сцены в игре на C#.