Вот пример кода, который реализует данную механику:
```C#
using System.Collections;
using UnityEngine;
public class ApplyScoreBonus : MonoBehaviour
{
private bool scoreBoostActive = false;
private void OnMouseDown()
{
if (gameObject.CompareTag("scoreBoost"))
{
StartCoroutine(ActivateScoreBoost());
}
// Добавьте свою логику для увеличения общего количества очков
}
private IEnumerator ActivateScoreBoost()
{
scoreBoostActive = true;
yield return new WaitForSeconds(5f);
scoreBoostActive = false;
}
public int GetScoreModifier()
{
if (scoreBoostActive)
{
return 1;
}
else
{
return 0;
}
}
}
```
После этого, в скрипте цели target вы можете обновить метод OnMouseDown следующим образом:
```C#
public class Target : MonoBehaviour
{
private int score = 0;
private void OnMouseDown()
{
ApplyScoreBonus applyScoreBonus = GetComponent<ApplyScoreBonus>();
if (applyScoreBonus != null)
{
score += 1 + applyScoreBonus.GetScoreModifier();
}
else
{
score += 1;
}
// Обновите ваш UI с новым счетом
}
}
```
Теперь, при нажатии на объект с тегом "scoreBoost", в течение 5 секунд каждое нажатие на фрукт будет приносить дополнительно 1 очко.