diff --git a/map_gen/Diggy/Feature/ArtefactHunting.lua b/map_gen/Diggy/Feature/ArtefactHunting.lua index 7db462e0..1ce97125 100644 --- a/map_gen/Diggy/Feature/ArtefactHunting.lua +++ b/map_gen/Diggy/Feature/ArtefactHunting.lua @@ -42,7 +42,7 @@ end local function toggle(event) local player = event.player - local center = player.gui.center + local center = player.gui.left local frame = center['Diggy.ArtefactHunting.Frame'] if (frame) then @@ -65,8 +65,6 @@ local function toggle(event) redraw_table(data) Gui.set_data(frame, data) - - player.opened = frame end local function on_player_created(event) @@ -82,6 +80,18 @@ Gui.on_custom_close('Diggy.ArtefactHunting.Frame', function (event) event.element.destroy() end) +function ArtefactHunting.update_gui() + for _, p in ipairs(game.connected_players) do + local frame = p.gui.left['Diggy.ArtefactHunting.Frame'] + + if frame and frame.valid then + local data = {player = p} + toggle(data) + toggle(data) -- double cause toggle() close the windi if its opened + end + end +end + --[[-- Registers all event handlers. ]] @@ -103,6 +113,7 @@ function ArtefactHunting.register(config) if coins > 0 then local sum = ScoreTable.add('Artefacts sent to space', coins) game.print('sent ' .. coins .. ' artefacts into space! The space station is now holding ' .. sum .. ' artefacts.') + ArtefactHunting.update_gui() end end) @@ -147,6 +158,7 @@ function ArtefactHunting.register(config) end Game.print_player_floating_text(player_index, text, {r = 255, g = 215, b = 0}) + ArtefactHunting.update_gui() end ScoreTable.reset('Collected coins') diff --git a/map_gen/Diggy/Feature/DiggyCaveCollapse.lua b/map_gen/Diggy/Feature/DiggyCaveCollapse.lua index f1ac9398..4720f696 100644 --- a/map_gen/Diggy/Feature/DiggyCaveCollapse.lua +++ b/map_gen/Diggy/Feature/DiggyCaveCollapse.lua @@ -7,6 +7,7 @@ require 'utils.list_utils' local Event = require 'utils.event' local Template = require 'map_gen.Diggy.Template' local ScoreTable = require 'map_gen.Diggy.ScoreTable' +local ArtefactHunting = require 'map_gen.Diggy.Feature.ArtefactHunting' local Debug = require 'map_gen.Diggy.Debug' local Task = require 'utils.Task' local Token = require 'utils.global_token' @@ -136,6 +137,7 @@ local function collapse(args) local entities = create_collapse_template(positions, surface) Template.insert(surface, {}, entities) ScoreTable.increment('Cave collapse') + ArtefactHunting.update_gui() end local on_collapse_timeout_finished = Token.register(collapse) diff --git a/map_gen/Diggy/Feature/DiggyHole.lua b/map_gen/Diggy/Feature/DiggyHole.lua index 661914c7..6acef937 100644 --- a/map_gen/Diggy/Feature/DiggyHole.lua +++ b/map_gen/Diggy/Feature/DiggyHole.lua @@ -8,6 +8,7 @@ local Event = require 'utils.event' local Scanner = require 'map_gen.Diggy.Scanner' local Template = require 'map_gen.Diggy.Template' local ScoreTable = require 'map_gen.Diggy.ScoreTable' +local ArtefactHunting = require 'map_gen.Diggy.Feature.ArtefactHunting' local Debug = require 'map_gen.Diggy.Debug' local insert = table.insert local random = math.random @@ -105,6 +106,7 @@ function DiggyHole.register(config) Event.add(Template.events.on_void_removed, function () ScoreTable.increment('Void removed') + ArtefactHunting.update_gui() end) if config.enable_debug_commands then