Всем привет, пытаюсь сделать, так чтобы одни UI элементы скрывались,

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

3 ответов

13 просмотров

Когда активен state отключай другие state, т. е. активно всегда одно окно. Или в чем вопрос?

Anthony- Автор вопроса
Vanolim
Когда активен state отключай другие state, т. е. а...

Объясню на примере инвентаря. Я отлавливаю нажатие "I" в классе Input и включаю инвентарь. После этого мне нужно изменить state на ShowInventory. Я бы мог написать метод SwitchState(State state) и вызвать его в классе Input с аргументом ShowInventory, но тогда я указываю конкретный стейт, а это как я понял это является грубейшим нарушением.

Anthony
Объясню на примере инвентаря. Я отлавливаю нажатие...

Ну ты ведь инпутом активируешь определённую вьюшку, так? А state, как я понимаю у тебя связаны как раз с вьюшкой. Я думаю тебе нужен адаптер, который бы связывался инпут и активацию определённого стейта в стейт машине

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

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

Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
всем привет помогите пожалуйста используя CDN (GCP) у игроков из вьетнама загружается конфиг (размер 999 bytes) загружается 5 и более минут н а других CDN сервисах такой пробл...
Andrew Krw.
1
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
Просто по очереди выпиливаешь на ручной маппинг? По методу за раз
Andrii Kurdiumov
7
И? Все равно глазами проверять надо каждое поле
Andrii Kurdiumov
4
Ну есть у нас десяток компаний которым надо. Остальным то зачем?
Andrii Kurdiumov
4
что значит рваность? фргаментированость?? для лох эт нормальное состояние. там сжатие редкое явление
Mikhail Lomonosov
1
Приветствую. А не подскажете какие ограничения есть на использования api метода setMyName ? Несколько раз сменил имя бота и получил бан на 2 месяца на смену имени.
Slick Slack
8
Всем привет! Взялся портировать модули на 18 версию, лезет _logger.log(log_level, 'no translation language detected, skipping translation %s', frame, stack_info=True) А чт...
Max Lit
3
Доброе утро, а кто то делал Google аналитику через php ? curl_setopt($ch, CURLOPT_NOSIGNAL, true); Это должно быть async без ожидания ответа. Вообще php нормально с таким с...
Max Dubovsky
9
Карта сайта