mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-27 19:45:22 +09:00
120 lines
3.7 KiB
Lua
120 lines
3.7 KiB
Lua
--[[
|
|
Explosive Gaming
|
|
|
|
This file can be used with permission but this and the credit below must remain in the file.
|
|
Contact a member of management on our discord to seek permission to use our code.
|
|
Any changes that you may make to the code are yours but that does not make the script yours.
|
|
Discord: https://discord.gg/r6dC2uK
|
|
]]
|
|
--Please Only Edit Below This Line-----------------------------------------------------------
|
|
|
|
local function _global(reset)
|
|
global.addons = not reset and global.addons or {}
|
|
global.addons.tasklist = not reset and global.addons.tasklist or {tasks={},_edit={}}
|
|
return global.addons.tasklist
|
|
end
|
|
|
|
local edit = Gui.inputs.add{
|
|
name='tasklist-edit',
|
|
type='button',
|
|
caption='utility/rename_icon_normal'
|
|
}:on_event('click',function(event)
|
|
local text_flow = event.element.parent.parent.text_flow
|
|
if text_flow.text.type == 'label' then
|
|
_global()._edit[event.player_index]._editing[text_flow.parent.name]=true
|
|
local text = text_flow.text.caption
|
|
text_flow.clear()
|
|
local _text = text_flow.add{
|
|
name='text',
|
|
type='textfield',
|
|
text=text
|
|
}
|
|
_text.style.width = 100
|
|
event.element.sprite = 'utility/enter'
|
|
elseif text_flow.text.type == 'textfield' then
|
|
local text = text_flow.text.text
|
|
_global()._edit[event.player_index]._editing[text_flow.parent.name]=false
|
|
_global()._edit[event.player_index]._tasks[text_flow.parent.name]=text
|
|
text_flow.parent.parent.clear()
|
|
_draw(text_flow.parent.parent)
|
|
end
|
|
end)
|
|
|
|
local remove = Gui.inputs.add{
|
|
name='tasklist-remove',
|
|
type='button',
|
|
caption='utility/remove'
|
|
}
|
|
|
|
local add = Gui.inputs.add{
|
|
name='tasklist-add',
|
|
type='button',
|
|
caption='add'
|
|
}
|
|
|
|
local function _draw(frame)
|
|
frame.caption = {'tasklist.name'}
|
|
local data = _global()
|
|
local player = Game.get_player(frame.player_index)
|
|
local rank = Ranking.get_rank(player)
|
|
for i,task in pairs(_tasks(player)) do
|
|
local flow = frame.add{
|
|
name=i-- use parent and children so there dont colidide with each other
|
|
type='flow',
|
|
direction='horizontal'
|
|
}
|
|
local text_flow = flow.add{
|
|
name='text_flow',
|
|
type='flow',
|
|
direction='horizontal'
|
|
}
|
|
text_flow.add{
|
|
name='text',
|
|
type='label',
|
|
caption=task
|
|
}
|
|
local button_flow = flow.add{
|
|
type='flow',
|
|
direction='horizontal'
|
|
}
|
|
if rank:allowed('edit-tasklist') then
|
|
edit:draw(button_flow)
|
|
remove:draw(button_flow)
|
|
add:draw(button_flow)
|
|
end
|
|
end
|
|
if rank:allowed('edit-tasklist') then
|
|
if not data._edit[player.index] then data._edit[player.index] = {_edit=false,_tasks={},_editing={}} end
|
|
end
|
|
end
|
|
|
|
local function _tasks(player)
|
|
local player = Game.get_player(player)
|
|
local data = _global()._edit[player.index]
|
|
if not data then return _global().tasks end
|
|
local _edit = false
|
|
for _,v in pairs(data._editing) do
|
|
if v == true then
|
|
_edit = true
|
|
break
|
|
end
|
|
end
|
|
if data._edit and not _edit then
|
|
_global().tasks = table.deepcopy(data._tasks)
|
|
data._edit = false
|
|
Gui.left.update('tasklist')
|
|
elseif not data._edit and _edit then
|
|
data.tasks = table.deepcopy(_global()._tasks)
|
|
data._edit = true
|
|
elseif _edit then return data._tasks
|
|
else return _global().tasks
|
|
end
|
|
end
|
|
|
|
Gui.left.add{
|
|
name='tasklist',
|
|
caption='utility/not_enough_repair_packs_icon',
|
|
tooltip={'tasklist.tooltip'},
|
|
draw=_draw,
|
|
open_on_join=true
|
|
} |