Я работаю над небольшим проектом с использованием SpriteKit и GameplayKit. Я впервые использую систему сущностей/компонентов, и я люблю ее. Но теперь я нахожусь в точке, где мне нужно отслеживать состояния моих сущностей (нереститься, нормально, снимать), чтобы они не взаимодействовали во время фазы нереста (которые могут включать или не включать действия для оживления предмета) и их удаление фазы.GKEntity и государственные машины
До сих пор я создал EntityStateComponent, который запускает GKStateMachine с разными состояниями, и поскольку нет необходимости в обновлениях для каждого кадра, это не так сложно. Дело в том, что это состояние больше связано с сущностью, чем связанное с компонентом, и мне интересно, имеет ли смысл подкласс из GKEntity и добавить в него конечный автомат вместо компонента.
Ваши мысли?
PS: Я уже к югу причислять от GKEntity просто иметь удобство Init(), который создает все компоненты
Большое спасибо за это! Я воздерживался от добавления чего-либо в мои подклассы GKEntity, потому что это способ «учебника», но необходимость использовать необязательную цепочку и принудительное разворачивание все время в какой-то момент неладно. И сделать обновление для каждого кадра внутри компонента для чего-то связанного с сущностью невозможно в любом случае. – BadgerBadger
Это [статья] (https://www.gamedev.net/resources/_/technical/game-programming/implementing-component-entity-systems-r3382) помогло мне понять «ECS», стоит прочитать, если вы гавань Не видел. –
спасибо за это! Очень информативно! – BadgerBadger