Skip to content

rclongloaf/SeventhMistake

Repository files navigation

AppLifetime

Инициализация констекста с языком интерфейса, конфигом игры и диспатчерами для MviExecutors

Mvi

Архитектура с разделением логики на Action, State и Patch

MviFeature принимает ExternalAction в MviFeauture::SendAction и диспатчит его на рабочий поток, чтобы носвободить главный поток для отрисовки. После этого мапит ExternalMviAction в InternalMviAction, который отправляется на обработку в MviFeature::ApplyAction. Тут выполняются все основные вычисления и формирует MviPatch для изменения состояния. MviPatch отправляется в MviReducer::SendPatch, где выполняется MviReducer::ApplyPatch, который должен вернуть новый или не изменённый InternalMviState. Если InternalMviState Изменился, то он отправляется в MviReducer::UpdateState, где мапится в ExternalMviState. Дальше диспатчим итоговый стейт на внешний поток (обычно это галвный поток). После диспатча стейт отправляется наружу овнеру фичи на обработку.

Разделение на External.. и Internal.. необходимо для сокрытия приватных для фичи данных и действий.

Features

GuessWordFeature

Фича отвечающая за угадывание одного слова.

GuessWordsSceneFeature

Фича отвечающая за общее состояние игры. ExternalState здесь формируется в данные, которые необходимо отобразить в интерфейсе. Использует внутри GuessWordFeature, которому каждый раз отправляет новое слово из WrodsProvider для угадывание и прокидывает ивент угадывания выбранной буквы.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages