-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor CoreEvent & Command enums into bunch of structs & traits #253
Comments
Экспериментирую в https://github.com/ozkriff/zoc/tree/WIP_253_command_event_into_trait
|
Какая жесть, епрст. Пришлось делать что-то сатанинское с Теперь перехожу к переработке CoreEvent. |
Есть мысль слепить всю мою кучу состояний (GameState, InternalState, FullState, PartialState, TmPartialState) в одну структуру, которая может выполнять все роли без дополнительных ВЖ и типовых параметров по всему коду. Потому что с текущей архитектурой количество костылей растет квадратично. Через костыль с Option для тумана войны - https://play.rust-lang.org/?gist=401412510e667a291c151b84b7be6a98 Может. в отдельной задаче это делать? |
У меня есть важный тип - CoreEvent. он перечисление всех возможных событий.
Он много где обрабатываются и везде его обработка выглядит как огромная функция с огромным match хотя бы строк на 150:
и еще в паре мест.
Вроде бы это мне пока особо и не мешает, но как-то раздражает.
(и кроме CoreEvent еще есть похожий Command с теми же проблемами).
Вот я думаю, может мне варианты этого перечисления вынести в честные структуры, сделать для каждого такого match свой типаж и реализовать его для каждого события/команды?
Сейчас есть, например,
InternalState::apply_event(&mut self, event: CoreEvent)
а будет какой-нибудь
The text was updated successfully, but these errors were encountered: