diff --git a/assets/overlay_icons/atlas.png b/assets/overlay_icons/atlas.png new file mode 100644 index 0000000..8f186a6 Binary files /dev/null and b/assets/overlay_icons/atlas.png differ diff --git a/assets/overlay_icons/manifest.lua b/assets/overlay_icons/manifest.lua new file mode 100644 index 0000000..498b26d --- /dev/null +++ b/assets/overlay_icons/manifest.lua @@ -0,0 +1,5 @@ +return { + tileSize = 32, + ["dev_target"] = { 0 }, + ["dev_path"] = { 1 }, +} diff --git a/lib/spell/spell.lua b/lib/spell/spell.lua index 00159cd..b9517b8 100644 --- a/lib/spell/spell.lua +++ b/lib/spell/spell.lua @@ -1,6 +1,7 @@ local Query = require "lib.spell.target_query" local targetTest = require "lib.spell.target_test" local task = require "lib.utils.task" +local easing = require "lib.utils.easing" --- @alias SpellPreview "default" Подсветка возможных целей --- | "path" Подсветка пути до цели @@ -38,13 +39,18 @@ function spell:update(caster, dt) end end +local icons = require("lib.utils.sprite_atlas").load(Tree.assets.files.overlay_icons) + function spell:draw() Tree.level.camera:attach() love.graphics.setCanvas(Tree.level.render.textures.overlayLayer) - love.graphics.setColor(0.3, 1, 0.3, 0.5) + love.graphics.setColor(1, 1, 1, 0.5) for _, p in pairs(self.targets) do - love.graphics.rectangle("fill", p.x, p.y, 1, 1) + local s = 1 / Tree.level.camera.pixelsPerMeter + local quad = icons:pickQuad('dev_target') + love.graphics.draw(icons.atlas, quad, p.x, p.y, 0, s, s) end + love.graphics.setShader() love.graphics.setCanvas() Tree.level.camera:detach() @@ -56,9 +62,10 @@ function spell:draw() --- Это отрисовка пути персонажа к мышке Tree.level.camera:attach() love.graphics.setCanvas(Tree.level.render.textures.overlayLayer) - love.graphics.setColor(0.6, 0.75, 0.5) for p in path:values() do - love.graphics.circle("fill", p.x + 0.45, p.y + 0.45, 0.1) + local s = 1 / Tree.level.camera.pixelsPerMeter + local quad = icons:pickQuad('dev_path') + love.graphics.draw(icons.atlas, quad, p.x, p.y, 0, s, s) end love.graphics.setCanvas() Tree.level.camera:detach()