HumanInput.OnLeftClick += () => playerEntity.Shoot(0); У меня будет много таких подписок,

как мне отписывать по нормальному, не создавая отдельный метод для каждого параметра для метода?

8 ответов

7 просмотров

Для начала сделай максимально просто. Не надо выдумывать наперёд. Сделай так, чтобы работало хотя бы как-нибудь. А потом уже обрисуются дополнительные детали реализации, которые будет необходимо учесть и ты проведёшь рефакторинг, изменишь так чтобы было хорошо. Главное не забывай качественно именовать переменные

Разве контроллер не должен иметь прямую связь с моделью? Наверно ивенты тут избыточны. Если нужны разные модели подменять их реализацию через паттерн стратегия. А всякий UI да может подписываться на ивенты, но делает он это сам, т.к. ивенты контроллера публичные, кто захотел подписался/отписался сам.

Артём- Автор вопроса
Askalot
Разве контроллер не должен иметь прямую связь с мо...

Этот кусок кода как раз из контроллера. Ивент идёт просто из класса с инпутом. И это вообще не UI.

Артём
Этот кусок кода как раз из контроллера. Ивент идёт...

У меня контроллер вообще не знает об источниках инпута. Все UI и код напрямую вызывают методы контроллера (доступен через зенджект). Хз грамотно это или нет.

Артём- Автор вопроса
Askalot
У меня контроллер вообще не знает об источниках ин...

Да ёк макарёк, это не UI у меня, это робот

Артём
Да ёк макарёк, это не UI у меня, это робот

Я же написал UI и код. Кто угодно может обратиться к контроллеру через публичные методы

Артём- Автор вопроса
Askalot
Я же написал UI и код. Кто угодно может обратиться...

Может это бот? Я говорю, что у меня не UI вопрос, он продолжает про UI писать

Артём
Может это бот? Я говорю, что у меня не UI вопрос, ...

Я отвечаю боту? Ты вообще в курсе про архитектурный термин контроллер? А про принцип солид инверсия зависимостей? Своими ивентами в контроллере ты нарушаешь этот принцип. И ты хочешь сказать что ивент OnClick это не инпут? Не важно от кого он исходит, от игрока или от ИИ. У каждого моба может быть свой контроллер если нужно.

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

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

Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Цвет аватарки с буквой же зависит от айди? Как может быть такое, что этот цвет поменялся?
Lencore
2
Приветствую друзья, подскажите сколько в среднем стоит на данный момент создать тг бота который будет как магазин? Показывать ассортименты доставлять заказы и тд? Все по станд...
Eugene
3
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
@dblackCat Привет. Это же твой плагин? https://octobercms.com/plugin/catdesign-productbundle
Alexey Yakimov
5
Карта сайта