объектом. Игрок должен подойти, войти в коллайдер, нажать например E и начнётся диалог.
Как можно сделать это в New Input System + OnTriggerEnter ? Без подписок на события и т.д.
Не хочу делать подписку и отписку + не хочу в update крутить проверку.
Мб как то через UniRx ? Игрок зашёл в коллайдер запустили прослушку, вышел отменили. Или ерунда
Через UniRx триггер может менять бул переменную у игрока
а чем проверка на инпут плоха в апдейте? заводишь переменную, при ontriggerenter делаешь её тру, и в апдейте если эта переменная тру, то считываешь нажатия клавиш. при выходе из триггера переменную ставишь в фолс и в апдейте проверка сразу выключается
Зачем делать быдло кодинг, если можно не делать быдло кодинг?
а чего тут плохого? if (isTriggerActive) { doCheckInputE() ) и в метод doCheckInputE запихиваешь проверку на ввод с клавиатуры
А чем тебя подписка на ивент не устраивает?) Весь инпут систем работает на ивентах Либо триггер будет передавать через ивент в инпут класс что ты зашёл в триггер и можешь обработать кнопку, Либо в триггере делать проверку что зашёл и на нужную кнопку обработать ивент инпута
Старый инпут устарел уже как и SendMessage Но по какой то причине люди все ещё им пользуются
Подписаться куда проще и нагляднее, и даже дело не в великой оптимизации, когда убрал один if и у тебя прирост +100фпс
А что на замену SendMessage пришло?
Видосики по легаси инпуту длятся 5-10 минут. А по новому час-полтора 😀
Ну это из разряда, лучше один раз изучить тему и не ломать в будущем голову)
Ничего, это со времён unity 4 если ошибаюсь было легаси для сохранения совместимости, а потом прижилось только для общения с другими языками
Обсуждают сегодня