--Modal for setting save options. local love = assert( love ) local modal = require( "ui.modal" ) local button = require( "ui.button" ) local map = require( "map.map" ) local save = require( "ui.saveprogress" ) local t = { w = love.graphics.getWidth(), h = 200 } local saveLocation = false local floppy = love.graphics.newImage( "icons/save.png" ) floppy:setFilter( "nearest", "nearest" ) local saveButton = button.new{ group = t, name = "save", align = "left", callback = function() save:start() end, visible = false, icon = floppy, w = 400 - button.x, h = 64, y = 0, } local xIcon = love.graphics.newImage( "icons/x.png" ) xIcon:setFilter( "nearest", "nearest" ) local cancelButton = button.new{ group = t, name = " cancel", align = "left", visible = false, icon = xIcon, callback = function() return t:stop() end, y = 68, w = 400 - button.x, h = 64, } function t.start() modal.start( t ) saveLocation = saveLocation or map.path button.selected = saveButton saveButton.name = " save to "..saveLocation button.displayGroup( t, false, true ) end function t.draw() love.graphics.clear( 0,0,0,1 ) love.graphics.setColor( 1, 1, 1, 0.9 ) button:draw() end function t.directorydropped( path ) saveLocation = path map.path = path saveButton.name = " save to "..map.path return love.filesystem.mount( path, "" ) end return modal.new( t )