55 lines
2.0 KiB
Lua
55 lines
2.0 KiB
Lua
-------------------------------------------------------------------------------
|
|
--[Picker Renamer]--
|
|
-------------------------------------------------------------------------------
|
|
local Event = require('__stdlib__/stdlib/event/event')
|
|
local Gui = require('__stdlib__/stdlib/event/gui')
|
|
local Player = require('__stdlib__/stdlib/event/player')
|
|
|
|
local function spawn_rename_gui(player, pdata)
|
|
local frame = player.gui.center.picker_rename_frame
|
|
if not frame then
|
|
frame = player.gui.center.add {type = 'frame', name = 'picker_rename_frame'}
|
|
frame.add {type = 'button', name = 'picker_rename_x', caption = ' X ', style = 'picker-rename-button'}
|
|
frame.add {type = 'textfield', name = 'picker_rename_textfield'}
|
|
frame.add {type = 'button', name = 'picker_rename_button', caption = 'OK', style = 'picker-rename-button'}
|
|
end
|
|
frame.picker_rename_textfield.text = pdata.rename_ent and pdata.rename_ent.valid and pdata.rename_ent.backer_name
|
|
return frame
|
|
end
|
|
|
|
Gui.on_click(
|
|
'picker_rename_x',
|
|
function(event)
|
|
game.players[event.player_index].gui.center.picker_rename_frame.destroy()
|
|
global.players[event.player_index].rename_ent = nil
|
|
end
|
|
)
|
|
|
|
Gui.on_click(
|
|
'picker_rename_button',
|
|
function(event)
|
|
local player, pdata = Player.get(event.player_index)
|
|
if pdata.rename_ent and pdata.rename_ent.valid then
|
|
pdata.rename_ent.backer_name = player.gui.center.picker_rename_frame.picker_rename_textfield.text
|
|
end
|
|
player.gui.center.picker_rename_frame.destroy()
|
|
pdata.rename_ent = nil
|
|
end
|
|
)
|
|
|
|
local function picker_rename(event)
|
|
local player, pdata = Player.get(event.player_index)
|
|
local selection = player.selected
|
|
if selection then
|
|
if selection.supports_backer_name() then
|
|
global.players[event.player_index].rename_ent = selection
|
|
spawn_rename_gui(player, pdata)
|
|
else
|
|
player.print({'picker.selection-not-renamable'})
|
|
end
|
|
end
|
|
end
|
|
Event.register('picker-rename', picker_rename)
|
|
|
|
return picker_rename
|