2019-03-03 11:51:31 +01:00
|
|
|
local Entity = require "scenes.levels.entities.parent"
|
|
|
|
|
2019-03-03 13:00:23 +01:00
|
|
|
local Block = Entity:extend()
|
2019-02-25 15:20:28 +01:00
|
|
|
|
2019-03-03 12:34:23 +01:00
|
|
|
function Block:new(level, x , y, item)
|
2019-03-03 11:55:52 +01:00
|
|
|
Block.super.new(self, level, "block", x, y, 16, 16)
|
2019-02-25 15:20:28 +01:00
|
|
|
self.item = item or 0
|
|
|
|
end
|
|
|
|
|
|
|
|
function Block:draw(dt)
|
2019-06-16 18:10:39 +02:00
|
|
|
self.scene.assets.tileset["block"]:drawTile(1, self.x, self.y)
|
2019-02-25 15:20:28 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
function Block:breakBlock()
|
|
|
|
local x, y = self:getCenter()
|
2019-03-04 09:24:07 +01:00
|
|
|
local spd = 250
|
2019-02-25 15:20:28 +01:00
|
|
|
local dist = 0
|
2019-06-16 18:10:39 +02:00
|
|
|
self.obj.Debris(self.scene, x+dist, y-dist, spd, 270+45)
|
|
|
|
self.obj.Debris(self.scene, x+dist, y+dist, spd, 45)
|
|
|
|
self.obj.Debris(self.scene, x-dist, y+dist, spd, 180+45)
|
|
|
|
self.obj.Debris(self.scene, x-dist, y-dist, spd, 180-45)
|
|
|
|
self.obj.GFX(self.scene, self.x+8, self.y+8, "poof", 1)
|
|
|
|
self.scene.assets:playSFX("break")
|
|
|
|
self.scene.playermanager.score = self.scene.playermanager.score + 10
|
2019-02-25 15:20:28 +01:00
|
|
|
self:destroy()
|
|
|
|
end
|
2019-03-03 10:57:01 +01:00
|
|
|
|
|
|
|
return Block
|