mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-30 20:41:41 +09:00
left gui clean
This commit is contained in:
@@ -5,18 +5,7 @@ This file can be used with permission but this and the credit below must remain
|
|||||||
Contact a member of management on our discord to seek permission to use our code.
|
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.
|
Any changes that you may make to the code are yours but that does not make the script yours.
|
||||||
Discord: https://discord.gg/XSsBV6b
|
Discord: https://discord.gg/XSsBV6b
|
||||||
|
|
||||||
The credit below may be used by another script do not remove.
|
|
||||||
]]
|
]]
|
||||||
local credits = {{
|
|
||||||
name='ExpGaming - Left Gui',
|
|
||||||
owner='Explosive Gaming',
|
|
||||||
dev='Cooldude2606',
|
|
||||||
description='A simple way to add toggle menus to the left',
|
|
||||||
factorio_version='0.15.23',
|
|
||||||
show=false
|
|
||||||
}}
|
|
||||||
local function credit_loop(reg) for _,cred in pairs(reg) do table.insert(credits,cred) end end
|
|
||||||
--Please Only Edit Below This Line-----------------------------------------------------------
|
--Please Only Edit Below This Line-----------------------------------------------------------
|
||||||
local add_frame = ExpGui.add_frame
|
local add_frame = ExpGui.add_frame
|
||||||
local frames = ExpGui.frames
|
local frames = ExpGui.frames
|
||||||
@@ -28,7 +17,7 @@ function add_frame.left(name,default_display,default_tooltip,vis,event)
|
|||||||
if not name then error('Frame requires a name') end
|
if not name then error('Frame requires a name') end
|
||||||
if not event or type(event) ~= 'function' then error('Frame requires a draw function') end
|
if not event or type(event) ~= 'function' then error('Frame requires a draw function') end
|
||||||
local vis = vis or false
|
local vis = vis or false
|
||||||
table.insert(frames.left,{name=name,display=default_display,event=event,vis=vis})
|
frames.left[name] = {name=name,display=default_display,event=event,vis=vis}
|
||||||
ExpGui.toolbar.add_button(name,default_display,default_tooltip,draw_frame.left)
|
ExpGui.toolbar.add_button(name,default_display,default_tooltip,draw_frame.left)
|
||||||
end
|
end
|
||||||
--draw the left GUI for the player; called via script, only call manually when update is true and element is the name of the GUI
|
--draw the left GUI for the player; called via script, only call manually when update is true and element is the name of the GUI
|
||||||
@@ -39,13 +28,16 @@ function draw_frame.left(player,element,update)
|
|||||||
local left = mod_gui.get_frame_flow(player)
|
local left = mod_gui.get_frame_flow(player)
|
||||||
debug_write({'GUI','LEFT','UPDATE'},update)
|
debug_write({'GUI','LEFT','UPDATE'},update)
|
||||||
if not update then
|
if not update then
|
||||||
for _,frame in pairs(frames.left) do if element.name == frame.name then frame_data = frame break end end
|
-- either toggels visabilty or makes the gui
|
||||||
|
frame_data = frames.left[element.name]
|
||||||
if left[frame_data.name] then ExpGui.toggle_visible(left[frame_data.name]) return end
|
if left[frame_data.name] then ExpGui.toggle_visible(left[frame_data.name]) return end
|
||||||
frame = left.add{name=frame_data.name,type='frame',caption=frame_data.display,direction='vertical',style=mod_gui.frame_style}
|
frame = left.add{name=frame_data.name,type='frame',caption=frame_data.display,direction='vertical',style=mod_gui.frame_style}
|
||||||
else
|
else
|
||||||
for _,frame in pairs(frames.left) do if element == frame.name then frame_data = frame break end end
|
-- only clears the gui
|
||||||
|
frame_data = frames.left[element]
|
||||||
frame = left[frame_data.name]
|
frame = left[frame_data.name]
|
||||||
end
|
end
|
||||||
|
-- draws the gui elements
|
||||||
if frame then frame.clear() frame_data.event(player,frame) end
|
if frame then frame.clear() frame_data.event(player,frame) end
|
||||||
end
|
end
|
||||||
--used to load all left GUIs
|
--used to load all left GUIs
|
||||||
@@ -53,20 +45,20 @@ Event.register(defines.events.on_player_joined_game,function(event)
|
|||||||
local player = game.players[event.player_index]
|
local player = game.players[event.player_index]
|
||||||
for _,frame_data in pairs(frames.left) do
|
for _,frame_data in pairs(frames.left) do
|
||||||
local left = mod_gui.get_frame_flow(player)
|
local left = mod_gui.get_frame_flow(player)
|
||||||
if left[frame_data.name] then left[frame_data.name].style.visible = frame_data.vis ExpGui.draw_frame.left(player,frame_data.name,true)
|
if left[frame_data.name] then
|
||||||
|
-- if it has been made already then it updates it
|
||||||
|
ExpGui.draw_frame.left(player,frame_data.name,true)
|
||||||
else
|
else
|
||||||
local frame = left.add{name=frame_data.name,type='frame',caption=frame_data.display,direction='vertical',style=mod_gui.frame_style}
|
-- makes the gui if its not made
|
||||||
frame_data.event(player,frame)
|
ExpGui.draw_frame.left(player,{name=frame_data.name})
|
||||||
frame.style.visible = frame_data.vis
|
frame.style.visible = frame_data.vis
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
--resets visabilty of guis on rank change
|
||||||
Event.register(Event.rank_change,function(event)
|
Event.register(Event.rank_change,function(event)
|
||||||
for _,frame_data in pairs(frames.left) do
|
for _,frame_data in pairs(frames.left) do
|
||||||
local left = mod_gui.get_frame_flow(event.player)
|
local left = mod_gui.get_frame_flow(event.player)
|
||||||
if left[frame_data.name] then left[frame_data.name].style.visible = frame_data.vis end
|
if left[frame_data.name] then left[frame_data.name].style.visible = frame_data.vis end
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
--Please Only Edit Above This Line-----------------------------------------------------------
|
|
||||||
return credits
|
|
||||||
Reference in New Issue
Block a user