up-editor/mouse.lua

34 lines
1.0 KiB
Lua
Raw Permalink Normal View History

2020-02-21 12:43:31 +01:00
function update_mouse()
mouse_x, mouse_y = love.mouse.getX(), love.mouse.getY() --mouse position
mouse_x = math.floor(mouse_x / scale)
mouse_y = math.floor(mouse_y / scale)
2020-02-21 15:10:49 +01:00
clip_mouse_x = mouse_x - mouse_x % 16
clip_mouse_y = mouse_y - mouse_y % 16
2020-02-21 12:43:31 +01:00
--edition mode
mouse_mode = 0
2020-02-21 15:10:49 +01:00
if love.mouse.isDown(1) then
mouse_mode = 1
elseif love.mouse.isDown(2) then
mouse_mode = -1
2020-02-21 12:43:31 +01:00
end
if mouse_mode == 0 then buffer_x, buffer_y = 0, 0 end
--add to layer if
if mouse_mode == 1 and (clip_mouse_x ~= buffer_x or clip_mouse_y ~= buffer_y) then
2020-02-21 15:10:49 +01:00
set_tile(tiles_char[selected_tile])
2020-02-21 12:43:31 +01:00
buffer_x = clip_mouse_x
buffer_y = clip_mouse_y
end
--delete of layer if
if mouse_mode == -1 and (clip_mouse_x ~= buffer_x or clip_mouse_y ~= buffer_y) then
2020-02-21 15:10:49 +01:00
set_tile('.')
2020-02-21 12:43:31 +01:00
buffer_x = clip_mouse_x
buffer_y = clip_mouse_y
end
end
2020-02-21 15:10:49 +01:00
function set_tile(char)
pos = clip_mouse_x / 16 + 1 + clip_mouse_y / 16 * 26
selected_screen = selected_screen:sub(1, pos - 1)..char..
selected_screen:sub(pos + 1, -1)
end