Объект не создан (C #) - PullRequest
       6

Объект не создан (C #)

0 голосов
/ 30 января 2019

Я кодирую игру защиты башни в Unity, и я столкнулся с загадкой, пытаясь найти способ разместить башни.Моя идея состоит в том, чтобы иметь возможность щелкать художественный актив в игре, когда у игрока есть определенное количество очков, и он заменяет этот художественный актив башней.К сожалению, даже когда у игрока есть нужное количество очков, объект не создается.Я позаботился о том, чтобы связать префаб со скриптом, но он не работает.Я в тупике, логика кода кажется правильной, но, возможно, кто-то может помочь мне выяснить, что здесь не так.

public class PointManager : MonoBehaviour
{

    public int pointCount;
    public Text pointDisplay;

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

    }

    // Update is called once per frame
    void Update()
    {
        pointDisplay.text = "Points: " + pointCount;
    }
}

public class PlaceTower: MonoBehaviour
{

    public GameObject Tower;
    private GameObject firstTower;
    int placeCost = 25;
    private PointManager pointsGained;

    // Start is called before the first frame update
    void Start()
    {
        pointsGained = GameObject.FindGameObjectWithTag("Point").GetComponent<PointManager>();
    }

    // Update is called once per frame
    void Update()
    {

    }

    private void OnMouseDown()
    {
        if (pointsGained.pointCount >= placeCost)
        {
            firstTower = Instantiate(Tower, transform.position, Quaternion.identity);
            //Destroy(this.gameObject);
        }
    }
}

1 Ответ

0 голосов
/ 30 января 2019

Я понял.Проблема была не с моим кодом, а с моими префабами.В документации я неправильно понял, что OnMouseDown работает на объектах с коллайдерами.В то время как я установил круговой коллайдер на объекте, который я пытался создать, я не смог поместить его на объект, с которого пытался создать экземпляр.Это немедленно решило проблему.Простая ошибка, которую я бы полностью осмотрел, если бы не было второго мнения.Спасибо, Pac0!

...