Open MrTGN opened 7 years ago
Важное замечание! Переход в новый state всегда локальный и не реплицируется клиентам. Поэтому переопределенные simulated функции будут работать на клиенте только в том случае, если и на клиенте объект перешел в этот stete.
Есть замечание по спринту. Похоже, в движке и так есть переменная SprintPct, которая устанавливает процент от скорости передвижения по земле и регулирует скорость перемещения. Это сделано потому, что этот множитель применяется не только к скорости перемещения по земле, но и при движении по воде, а так же при залезании по лестнице и т.д. Нужно проверить работу этого множителя и отпилить свое значении скорость передвижения по земле.
Так же не очень мне нравится решение с постоянной проверкой Acceleration == vect(0, 0, 0). Возможно, лучше было бы сделать какое-то уведомление что пользователь не жмет никакой кнопки из класса PlayerInput.
В классах монстров и в классе UM_HumanPawn нужно создать отдельный State Sprinting, в котором управлять логикой спринта, анимацией и т.д. Это позволит разгрузить основной код и улучшит его читабельность.