local HUD = Object:extend() local gui = require "game.modules.gui" local TweenManager = require "game.modules.tweenmanager" function HUD:new(scene) self.scene = scene self.world = scene.world self.assets = scene.assets self.frame = gui.newBorder(424, 30, 4) self.tweens = TweenManager(self) self.playerHUDPosition = -64 self.battlerCursor = self.world.turns.current end function HUD:update(dt) self.tweens:update(dt) end function HUD:movePlayerHUD(beginBattle) if (beginBattle) then self.tweens:newTween(0, 0.4, {playerHUDPosition = 36}, 'inCubic') else self.tweens:newTween(0, 0.4, {playerHUDPosition = -64}, 'inCubic') end end function HUD:moveBattleCursor(moveCursorTo) self.tweens:newTween(0, 0.2, {battlerCursor = moveCursorTo}, 'inCubic') end function HUD:getPlayerHUDPosition() return self.playerHUDPosition end function HUD:draw() for i, battler in ipairs(self.world.battlers) do battler:drawHUD() end for i, action in ipairs(self.world.actionlist) do action.actor:drawIcon(4 + (i-1)*(20), 6) end local cursorx = self.battlerCursor * 20 - 6 if #self.world.actionlist > 0 then self.assets.images["menucursor"]:draw(cursorx, 26, math.rad(-90), 1, 1, 4, 8) end local x, y = 362, 3 love.graphics.draw(self.frame, 424, 20, 0, -1, -1) self.assets.images["hudturn"]:draw(x, y) self.assets.fonts["hudnbrs"]:set() local turnnbr = self.world.turns.number if (turnnbr < 10) then turnnbr = "0" .. turnnbr end love.graphics.print(turnnbr, x + 33, y + 1) end return HUD