local Entity = require "scenes.levels.entities.parent"

local Bullet = Entity:extend()

function Bullet:new(world, x, y, w, h, speed, dir)
  Bullet.super.new(self, world, "bullet", x - (w / 2), y - (h / 2), w, h)
  self.life = 0;
  self:setMotionDirection(dir, speed)
end

function Bullet:setFilter()
  self.filter = function(item, other)
    if     (other.type=="wall")   then
      return 'touch'
    else
      return 'cross'
    end
  end
end

function Bullet:updateEnd(dt)
  local isInsideView = self:isInsideView()
  if (isInsideView == false) or (self.xsp == 0) then
    self:destroy()
  end
end

function Bullet:collisionResponse(collision)
  local other = collision.other

  if other.type=="wall" then
    self:destroy()
  end
end

function Bullet:draw(dt)
  currentLevel:drawHitbox(self, 0,128,0)
end

return Bullet
