Такой вопрос. Возможно ли как-то блокировать любой инпут? Допустим, есть

ui которые реагирует на клик. Возможно ли сделать написать такую логику, что сначала проверяются некоторые условия, а потом пропускается клик дальше или идет блокировка (обнуление) инпута?
Это должно работать глобально, не логика на конкретной кнопке

12 ответов

12 просмотров

ну повесь поверх всего панель на весь экран, которая не пропускает рейкаст и отключай её когда всё ок

Мориарти-Туманов Автор вопроса
OK386
ну повесь поверх всего панель на весь экран, котор...

Любой инпут, не только клики. Ui был для примера

Мориарти-Туманов Автор вопроса
OK386
новая система инпута?

Вот в том и проблема, но она не везде в проекте используется) ладно, специфичная задача, буду думать

а почему бы не сделать логику на каждой кнопке? Просто, и работает. Kiss

Мориарти-Туманов Автор вопроса

Это просто с точки зрения "придумать решение". А с точки зрение реализации это не кисс, а двушечка в голову будет)

Ну вот обнуление нажатия на кнопку вроде как можно было сделать через это https://docs.unity3d.com/ScriptReference/Input.ResetInputAxes.html А там уже можно наверное как-то через графикрейкастер смотреть куда мы жмем и отменять если надо

Мориарти Туманов
Это просто с точки зрения "придумать решение". А с...

засунь все кнопки в пул пробегайся по ним вырубай raycast, если логика не позволяет их жать, либо совсем убирай, я бы ui гасил со всеми кнопками, зачем им зря отрисовываться каждый раз по фейковому нажатию, и не надо трогать другие классы, если нужно все же, чтобы как-то было визуальное прожатие, то только сверху кинуть кнопку фейковую, у которой color в нормальном состоянии по альфа 0, в pressed альфа 100 например, selected альфа 0 и она будет перекрывать рейкаст, и мигать цветом типо сорян бро щас я не работаю, но с фейковыми также придётся из пула управлять

Мориарти-Туманов Автор вопроса
eduard
засунь все кнопки в пул пробегайся по ним вырубай ...

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

Сделать класс контроллер, который обрабатывает нажатия кнопок. UI (или нажатие клавиши) вызывает метод в контроллере. А контроллер передает вызов далее в нужный метод в зависимости от своего состояния. Например, клавиша ESC во время игры вызывает меню, а во время подбора предмета закрывает окно инвентаря (а остальные клавиши в этом состоянии вообще блокируются). Итог: подменяем состояния контроллера - полностью меняем логику обработки всех клавиш.

Мориарти-Туманов Автор вопроса
eduard
ну так хоть расскажи

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

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

Обсуждают сегодня

Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
Всем привет, есть небольшая проблема Есть такой скрипт document.addEventListener('DOMContentLoaded', function () { const sliderTabs = document.querySelectorAll('.s...
A da
8
@go1337 @dblackCat Привет. Все ещё дрочусь с fastpanel. Добавил второй домен который должен смотреть в рут того же сайта, но так как это просто домен, а не сайт, я не могу ему...
Ross 🦴
9
До речі, в ево нема можливості чи якого розширення щоб з адмінки з телефона зайти і терміново щось в верстці поправити?
Женя
7
кто-нибудь пользуется тайм-трекерами во время работы? так много разных нагуглил, может есть что-то популярное
Lencore
8
Пацаны. Я разрабатываю софт для инвайтинга на телетон, и столкнулся с такой проблемой, в один из чатов не могу приглашать никого, не дает добавлять, в то же время через официа...
Kernel Panic
11
Скажите, а кому нужен Currency как отдельный плагин вместо полноценного ecommerce в OctoberCMS? Кто-то использует его уже или планирует в будущем? Может я что-то не понимаю?
Igor
13
Розмовами про Рево мені нагадали часи, коли шаблони правилися прямо в адмінці. Хто в курсі, чому відійшли від цієї практики, так блейд не працює? Доволі зручно ж було (інколи)
Женя
3
Всем добрый вечер, Рад оказаться в кругу единомышленников. Начинаю погружаться в мир .net веба. Зовут Ерасыл 🖖 У меня назрел вопрос: Какой процент проектов, прошедшие через в...
Ерасыл
6
Чому? Да тому що без GiT не уявляю нормального проекта а коли код в базі то то так собі
Dmytro Lukianenko
3
Карта сайта