left.lua 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. local Left = class()
  2. local g = love.graphics
  3. function Left:init()
  4. self.offset = -data.media.graphics.hud.left:getWidth() * ctx.view.scale
  5. self.prevOffset = self.offset
  6. end
  7. function Left:update()
  8. local p = ctx.players:get(ctx.id)
  9. if p then
  10. self.prevOffset = self.offset
  11. local first = f.exe(p.slots[p.weapon].ammoValue, p.slots[p.weapon], p)
  12. if first then
  13. self.offset = math.lerp(self.offset, -ctx.hud.u * .08, math.min(20 * tickRate, 1))
  14. else
  15. self.offset = math.lerp(self.offset, -data.media.graphics.hud.left:getWidth() * ctx.view.scale, math.min(20 * tickRate, 1))
  16. end
  17. end
  18. end
  19. function Left:draw()
  20. local u, v = ctx.hud.u, ctx.hud.v
  21. local s = ctx.view.scale
  22. local offset = math.lerp(self.prevOffset, self.offset, tickDelta / tickRate)
  23. local p = ctx.players:get(ctx.id)
  24. if p then
  25. local first, second = f.exe(p.slots[p.weapon].ammoValue, p.slots[p.weapon], p)
  26. g.setColor(255, 255, 255, 64)
  27. g.draw(data.media.graphics.hud.leftBg, offset + .0025, -v * .0083, 0, s, s)
  28. g.setColor(255, 255, 255)
  29. g.draw(data.media.graphics.hud.left, offset, -v * .013, 0, s, s)
  30. if first then
  31. local str = tostring(first)
  32. if second then str = str .. ' /' end
  33. g.setFont('BebasNeue', v * .065)
  34. local font = g:getFont()
  35. g.setColor(0, 0, 0, 100)
  36. g.printCenter(str, offset + u * .115 + 2, -v * .004 + 2, true, false)
  37. if p.team == purple then g.setColor(190, 160, 220)
  38. else g.setColor(240, 160, 140) end
  39. g.printCenter(str, offset + u * .115, -v * .004, true, false)
  40. if second then
  41. g.setFont('BebasNeue', v * .045)
  42. g.setColor(0, 0, 0, 100)
  43. g.printCenter(second, offset + u * .1175 + (font:getWidth(str) / 2) + (g.getFont():getWidth(second) / 2) + 2, v * .015 + 2, true, false)
  44. if p.team == purple then g.setColor(190, 160, 220)
  45. else g.setColor(240, 160, 140, 220) end
  46. g.printCenter(second, offset + u * .1175 + (font:getWidth(str) / 2) + (g.getFont():getWidth(second) / 2), v * .015, true, false)
  47. end
  48. end
  49. end
  50. end
  51. return Left