50 lines
2.0 KiB
Lua
50 lines
2.0 KiB
Lua
-------------------------------------------------------------------------------
|
|
--[Picker Hide Minimap]--
|
|
-------------------------------------------------------------------------------
|
|
-- TODO add hotkeys to enable/disable map and other elements
|
|
|
|
local Event = require('__stdlib__/stdlib/event/event')
|
|
local Player = require('__stdlib__/stdlib/event/player')
|
|
local table = require('__stdlib__/stdlib/utils/table')
|
|
|
|
local hide_types = table.array_to_dictionary {'logistic-container', 'electric-pole', 'roboport', 'container'}
|
|
|
|
local function picker_hide_minimap(event)
|
|
local player, pdata = Player.get(event.player_index)
|
|
if pdata.minimap_disabled then
|
|
return
|
|
end
|
|
if not player.opened and player.selected and hide_types[player.selected.type] and player.game_view_settings.show_minimap then
|
|
if player.mod_settings['picker-hide-minimap'].value then
|
|
player.game_view_settings.show_minimap = false
|
|
end
|
|
elseif not player.game_view_settings.show_minimap and not (player.selected and hide_types[player.selected.type]) then
|
|
if player.mod_settings['picker-hide-minimap'].value then
|
|
player.game_view_settings.show_minimap = true
|
|
end
|
|
end
|
|
end
|
|
Event.register(defines.events.on_selected_entity_changed, picker_hide_minimap)
|
|
|
|
local function toggle_minimap(event)
|
|
local player, pdata = Player.get(event.player_index)
|
|
if pdata.minimap_disabled then
|
|
player.game_view_settings.show_minimap = true
|
|
pdata.minimap_disabled = false
|
|
else
|
|
player.game_view_settings.show_minimap = false
|
|
pdata.minimap_disabled = true
|
|
end
|
|
end
|
|
Event.register('toggle-minimap', toggle_minimap)
|
|
|
|
local function update_minimap_settings(event)
|
|
--Toggle minimap back on when switching settings just in case
|
|
if event.setting == 'picker-hide-minimap' then
|
|
game.players[event.player_index].game_view_settings.show_minimap = true
|
|
end
|
|
end
|
|
Event.register(defines.events.on_runtime_mod_setting_changed, update_minimap_settings)
|
|
|
|
return picker_hide_minimap
|