local FighterParent = require "scenes.battlesystem.controllers.fighters.parent"
local VillainFighter = FighterParent:extend()

local SimpleHPBar   = require "scenes.battlesystem.gui.simplehpbar"

local POSITIONS = {1, 3, 5}
local ENNEMY_LINE = 11;

function VillainFighter:new(owner, ennemy, id)
  self.name = ennemy
  self.super.new(self, owner, false, id)

  self.hpbar = SimpleHPBar(self.abstract.hp)
end

function VillainFighter:updateAssets(dt)
  self.hpbar:update(dt)
end


function VillainFighter:getAbstract()
  return game.ennemies:getEnnemyData(self.name)
end

function VillainFighter:createActor()
  local x, y = ENNEMY_LINE, POSITIONS[self.id]
  return self.world.obj.Ennemy(self.world, x, y, self)
end

function VillainFighter:startAction()

end

function VillainFighter:endAction()

end

function FighterParent:die()
  self.isAlive = false
  self.actor:destroy()
end

-- LIFE FUNCTIONS
function VillainFighter:setHP(value, relative)
  VillainFighter.super.setHP(self, value, relative)
  self.hpbar:setHP(self.abstract.hp)
end

-- DRAW FUNCTIONS
function VillainFighter:drawIcon(x, y)
  love.graphics.setColor(1, 0, 0, 1)
  love.graphics.rectangle("fill", x, y, 16, 16)
  love.graphics.setColor(1, 1, 1, 1)
end

function VillainFighter:drawHUD(x, y)
  self.hpbar:draw(x, y)
end

return VillainFighter
