Задать вопрос
@MagicalPrincessFromAnothe

Как получить имя обьекта через его компонент?

Всем привет, при разработке игры возник такой вопрос: у меня есть клетка земли, и ее можно копать. Процесс копания я реализовал таким способом: при нажатии на "клавишу копания", у клетки, на которой сейчас находятся "сенсоры игрока", заменяется префаб (их 10 штук). Но вышло так, что у меня же много таких клеток на уровне, а префабы то одинаково называются (каждая клетка земли имеет одинаковый "процесс копания"), и при нажатии на клавишу копания копаются все клетки на уровне, а не только та, на которой находятся сенсоры моего персонажа. Я сделал скрипт для одного из сенсоров, который должен определять, на какую клетку сейчас смотрит игрок и копать только ее. Вот код:
hit = Physics2D.Raycast(this.transform.position, Vector2.down, 1.0f, groundLayer);
        if(hit) {
            obj = (hit.transform.name).ToString();
            Debug.Log(obj);
        }

Но данная конструкция возвращает мне имя текущего префаба, а не имя обьекта клетки на сцене (объекты-клетку у меня имеют уникальное название типа "сell1" и тп). Вопрос: как мне переделать выше данный код, что бы он возвращал имя обьекта на сцене, к которому привязан префаб, который обнаруживает raycast ?
  • Вопрос задан
  • 119 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@p4p
Добавь на клетки триггер и переменную bool thisCellActive и ставь ее true когда игрок попадает в зону этой клетки. Соответственно false когда выходит. И когда копаешь Проверяй if(thisCellActive)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы