Как кинуть UI текст в скрипт повешенный на префаб? Unit2d

есть такой скрипт:

using UnityEngine;
using UnityEngine.UI;

public class LaserY : MonoBehaviour
{
    public Text ScoreText;
    public int Score = 0;
    void Update()
    {
        transform.Translate(new Vector2(0, 3f * Time.deltaTime));
        ScoreText.text = Score.ToString();
    }
    private void OnCollisionEnter2D(Collision2D Meteor)
    {
        if (Meteor.gameObject.tag == "Meteor")
        {
            Destroy(Meteor.gameObject);
            Destroy(gameObject);
            Score++;
        }
    }
}

Нужно чтобы при попадании в метеорит он разрушался и в счёт добавлялось очко. Возникла проблема с тем, что я не знаю как установить текст в ScoreText.

введите сюда описание изображения

Как я уже не пробовал. Проблема в том, что из-за того что скрипт повешен на префаб, текст не перетаскивается.


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

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

Вы не можете перенести объект со сцены в префаб. Вам либо нужно сделать тот объект префабом либо написать новый скрипт(который будет проверять OnCollision Enter с этого скрипта) и повесить его на UI text. Рекомендую использовать event для OnCollisionEnter2D, что в разы упростит задачу.

→ Ссылка