Показать сообщение отдельно
Старый 18.09.2020, 14:45   #1
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Вызов гуя, есть проблемы.

Короче есть у меня скрипт, который следит за тем чтобы гуй был вкл или выкл.

По клику мыши на монстра, меняется переменная в глобальном скрипте,
и другой скрипт включает отображение гуя на канвасе.
При повторном щелчке мыши где угодно у меня вызывается
переменная, которая выключает отображения гуя через тот же скрипт.
Скрипт отслеживающий щелчки по монстру, скрипт с глобальными переменными статическими, и вызывающий гуй скрипт - разные.

Всё работает до тех пор, пока я не собираюсь при вызванном гуе с монстра
щёлкнуть мышкой в другого монстра, и тут в 30% случаев сначала вызывается гуй, потом сразу скрывается из-за скрипта в предыдущем монстре
(скрипта, который после отображения скрывает гуй по щелчку).
Выглядит как баг, и не приятно. Посоветуйте как лучше организовать процесс, может у кого есть идеи?
Отображение и скрытие должны происходить на одну и ту же клавишу,
и то действие должно быть применимо к любому количеству пропикиваемых лучом монстров.

Я чё-то по ходу на работе заработался, что сейчас вечерами не могу решить такую простую элементарную задачу.

А теперь снова всё то же самое:
К щелчку по монстру привязано отображение гуя, когда гуй отображён,
при любом следующем щелчке срабатывает скрипт скрывающий гуй.
Проблема случается в тот момент, когда уже при отображённом гуе
вызванном на одном монстре, мне вдруг нужно щёлкнуть в другого монстра
и вызвать тот же гуй. В 30% случаев, сначала срабатывает вызов гуя на
новом монстре, и после на предыдущем монстре тот же самый клик мне всё руинит закрывая гуй.

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

Вопрос в том, как дать понять скрипту, что раз мы уже на другом монстре гуй вызвали, то на прерыдущем его по щелчку
скрывать не надо. Вроде всё элементарно, тупо, просто. Но это юнити, и он мне что-то мозг сломал,
со своей разбивкой на миллион префабов, и скриптов обрабатываемых в рандомном порядке.
Если бы хотя бы какая-то структура обработки скриптов была на вызванных префабах,
а он рандомом хреначит без последовательности чёткой.
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием