refactor MapBehavior:update

This commit is contained in:
PeaAshMeter 2025-10-23 02:41:30 +03:00
parent 601766d5e8
commit 6faf7f1c1d

View File

@ -63,17 +63,13 @@ function mapBehavior:update(dt)
if fraction >= 1 then -- анимация перемещена завершена if fraction >= 1 then -- анимация перемещена завершена
self.position = self.runTarget self.position = self.runTarget
if not self.path:is_empty() then -- еще есть, куда бежать if not self.path:is_empty() then -- еще есть, куда бежать
self:runTo(self.path:peek_front()) self:runTo(self.path:pop_front())
self.path:pop_front() else -- мы добежали до финальной цели
else -- мы добежали до финальной цели
self.owner:try(Tree.behaviors.sprite, function(sprite) self.owner:try(Tree.behaviors.sprite, function(sprite)
sprite:loop("idle") sprite:loop("idle")
end) end)
self.runTarget = nil self.runTarget = nil
if self.animationNode then if self.animationNode then self.animationNode:finish() end
self.animationNode:finish()
self.onWalkEnd = nil
end
end end
else -- анимация перемещения не завершена else -- анимация перемещения не завершена
self.displayedPosition = utils.lerp(self.position, self.runTarget, fraction) -- линейный интерполятор self.displayedPosition = utils.lerp(self.position, self.runTarget, fraction) -- линейный интерполятор