diff --git a/api.lua b/api.lua index b6cc223..c95d8a6 100644 --- a/api.lua +++ b/api.lua @@ -138,7 +138,7 @@ modComputing.add_test_apps = function() icon_image = "icon_smartphone_128x128.png", --on_iconclick = modComputing.show_smartphone_config, on_iconclick = function() - core.chat_send_all("Button 'btnMastodon' pressed!") + core.chat_send_all("Button 'btnLockPhone' pressed!") end, }) end diff --git a/init.lua b/init.lua index a7ab265..ffdd3e1 100644 --- a/init.lua +++ b/init.lua @@ -8,7 +8,6 @@ dofile(modComputing.modpath.."/api.lua") dofile(modComputing.modpath.."/functions.lua") dofile(modComputing.modpath.."/item_smartphone.lua") - ---modComputing.add_test_apps() +modComputing.add_test_apps() --only work if debug activate core.log('action',"[MOD] "..modComputing.modname.." loaded!") diff --git a/item_smartphone.lua b/item_smartphone.lua index bfd301b..571f959 100644 --- a/item_smartphone.lua +++ b/item_smartphone.lua @@ -1,4 +1,13 @@ - +modComputing.smartphone = { + maxCol = 2, + maxRow = 3, + offSetX = 1.00, + offSetY = 2.25, + marginConteinerX = 0.50, + marginConteinerY = 0.25, + sizeButtonX = 1.50, + sizeButtonY = 1.50, +} modComputing.getTextClockBar = function() --return modComputing.getTextNowWeekDay3S()..", "..modComputing.getTextNowDate().." "..modComputing.getTextNowTime() @@ -11,6 +20,7 @@ modComputing.getTextClockBar = function() end modComputing.getFormSmartphone = function(player) + local playername = player:get_player_name() local formspec = "" .."formspec_version[6]" .."size["..(10*271/484)..",10.0,true]" @@ -22,18 +32,33 @@ modComputing.getFormSmartphone = function(player) .."image[0,0;"..(10*271/484)..",10.0;text_smartphone_271x484.png;true]" .."style_type[label;font=mono;font_size=10;textcolor=#FFFFFF]" .."label[0.75,1.975;"..core.formspec_escape(modComputing.getTextClockBar()).."]" + .."style_type[container;font=normal;font_size=7;textcolor=#FFFFFF]" --.."button_exit[0.75,2.50;1.5,1.5;btnClose;"..core.formspec_escape(modComputing.translate("Banana\nStore")).."]" - + if type(modComputing.show_page)~="table" then + modComputing.show_page = { } + end + if type(modComputing.show_page[playername])~="number" + or modComputing.show_page[playername] < 0 + then + modComputing.show_page[playername] = 0 + end local appsCount = 0 local appnames = modComputing.get_appnames() - local apps = modComputing.get_apps() - --modComputing.debug("apps = "..dump(apps) --[[, playername--]]) - --apps = table.sort(apps) + local maxCol = modComputing.smartphone.maxCol + local maxRow = modComputing.smartphone.maxRow + local offSetX = modComputing.smartphone.offSetX + local offSetY = modComputing.smartphone.offSetY + local marginConteinerX = modComputing.smartphone.marginConteinerX + local marginConteinerY = modComputing.smartphone.marginConteinerY + local sizeButtonX = modComputing.smartphone.sizeButtonX + local sizeButtonY = modComputing.smartphone.sizeButtonY + for k,v in pairs(appnames) do appsCount = appsCount + 1 - local appname = v + local apps = modComputing.get_apps() + --modComputing.debug("apps = "..dump(apps) --[[, playername--]]) local icon_name = apps[v].icon_name local icon_title = apps[v].icon_title local icon_descryption = apps[v].icon_descryption @@ -41,70 +66,103 @@ modComputing.getFormSmartphone = function(player) local icon_image = apps[v].icon_image local on_iconclick = apps[v].on_iconclick - local maxCol = 2 - local maxRow = 3 - local offSetX = 1.10 - local offSetY = 2.50 - local sizeButtonX = 1.75 - local sizeButtonY = 1.75 - local page = math.floor(appsCount / (maxRow * maxCol)) --math.floor : arredonda sempre para menos - local iconInPage = appsCount - math.floor(page * maxRow * maxCol) - local iconRow = math.floor((iconInPage - 1) / maxCol) - local iconCol = (iconInPage - 1) % maxCol - --local iconRow = (iconInPage - 1) % maxRow - --local iconCol = 0 - --local iconRow = iconInPage - 1 - - --SAMPLE: image_button[,;,;;;