Как стать автором
Обновить

Комментарии 3

А как работаете с прерываниями?
Например робот прыгнул, а тут пользователь нажал на телепорт.
Или хп упал до 0 и надо бы красиво взорваться прямо в воздухе.
А как работаете с прерываниями?
Ничего хитрого. Если абилке нужно по каким-то причинам экстренно остановиться, то текущему стейту и его компонентам передаются соответствующие сообщения. Дальше стейты и компоненты сами определяют, как это сделать.

Например робот прыгнул, а тут пользователь нажал на телепорт.
В данном случае ничего и делать не надо, робот спокойно начинает процесс телепортации, так как в нашей игре он не блокирует передвижение или что-то ещё.

Или хп упал до 0 и надо бы красиво взорваться прямо в воздухе.
Так как все эффекты взрывов в данном случае представлены в виде эффектов частиц, то они проиграются в воздухе, а затем рэгдолл упадёт на землю.

В качестве примера могу привести следующее. У нас есть эффекты частиц, которые проигрываются в определённом стейте абилки. Как им реагировать на смерть робота настраивает геймдизайнер. У него есть следующие варианты: продолжить играть эффекты даже на рэгдолле, остановить воспроизведение с удалением всех текущих частиц или остановить спавн новых частиц, а текущим позволить доиграть до конца.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.