Pull to refresh
0
0
Send message

SM может быть вложенной, что происходит довольно часто, и может быть в теории параллельной, хотя я с таким на практике не встречался.

Тут автор просто в инфантильной манере пытается сказать, что конкретно для задачи проектирования поведения AI в играх подходит лучше BehaviourTree, тк у него нет как такового состояния (спойлер есть). Если коротко и упуская детали о том, что автор не сказал, то хоть БТ и дерево, но принцип его работы в многократном проходе по графу каждый раз вычисляя то самое состояние. Есть отличная статья для понимая силы БТ. Не знаю можно ли кидать тут ссылки на другие источники, поэтому просто погугли “BehaviourTree ProjectZomboid”

Ну и конечно же даже для AI можно использовать СМ, если в вашем контексте она подходит наилучшим образом, также в случае сложных поведений АИ можно использовать комбинации стейтмашины и БТ, как например это сделано в последних FinalFantasy. Автор просто не очень опытный парень, а статьи пишет)

Для того, чтоб решить задачу по отображению текста + иконки по центру не нужен ContentSizeFitter, более того, он создает приличный оверхед, тк в подобном виджете он может пересчитываться очень часто, не в этом случае, но что если мы захотим его использовать с иконкой часов и отображать там время. Текст умеет автоматически выставлять свой размер если на паренте весит лейаут группа.
Также интересно, что в MissionPresenter был относительно неплохо соблюден подход MVP, который сразу после куда-то исчез и превратился в монобех вьюхи которые ссылаются на все и вся и делают все, то есть тут вся суть паттерна и в целом архитектурные принципы нарушены.

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

Information

Rating
Does not participate
Registered
Activity

Specialization

Game Developer
Senior
C#
Unity3d
Game Development
Algorithms and data structures
Object-oriented design
OOP
Git
.NET
.NET Core