mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-31 21:01:39 +09:00
Fleshed out Sync Gui
This commit is contained in:
@@ -34,10 +34,6 @@ Example: defines.input_action.drop_item -> 'drop_item'
|
|||||||
http://lua-api.factorio.com/latest/defines.html#defines.input_action
|
http://lua-api.factorio.com/latest/defines.html#defines.input_action
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
Sync.add_to_gui(function(player,frame)
|
|
||||||
return 'You have been given the rank '..Ranking.get_rank(player).name..' from our Discord'
|
|
||||||
end)
|
|
||||||
|
|
||||||
-- see ExpCore/ranks.lua for examples - you add your own and edit pre-made ones here.
|
-- see ExpCore/ranks.lua for examples - you add your own and edit pre-made ones here.
|
||||||
|
|
||||||
local groups = Ranking._groups(true)
|
local groups = Ranking._groups(true)
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ end
|
|||||||
-- used to open any center gui
|
-- used to open any center gui
|
||||||
function center.open(player,center)
|
function center.open(player,center)
|
||||||
local player = Game.get_player(player)
|
local player = Game.get_player(player)
|
||||||
|
Gui.center.clear(player)
|
||||||
Gui._get_data('center')[center].open{
|
Gui._get_data('center')[center].open{
|
||||||
element={name=center},
|
element={name=center},
|
||||||
player_index=player.index
|
player_index=player.index
|
||||||
@@ -51,7 +52,7 @@ function center._center.open(event)
|
|||||||
local player = Game.get_player(event)
|
local player = Game.get_player(event)
|
||||||
local _center = Gui._get_data('center')[event.element.name]
|
local _center = Gui._get_data('center')[event.element.name]
|
||||||
local center_flow = center.get_flow(player)
|
local center_flow = center.get_flow(player)
|
||||||
if center_flow[_center.name] then center.clear(player) return end
|
if center_flow[_center.name] then Gui.center.clear(player) return end
|
||||||
local center_frame = center_flow.add{
|
local center_frame = center_flow.add{
|
||||||
name=_center.name,
|
name=_center.name,
|
||||||
type='frame',
|
type='frame',
|
||||||
|
|||||||
@@ -157,6 +157,7 @@ function Sync.info(set)
|
|||||||
if not global.exp_core then global.exp_core = {} end
|
if not global.exp_core then global.exp_core = {} end
|
||||||
if not global.exp_core.sync then global.exp_core.sync = {
|
if not global.exp_core.sync then global.exp_core.sync = {
|
||||||
server_name='Factorio Server',
|
server_name='Factorio Server',
|
||||||
|
server_description='A factorio server for everyone',
|
||||||
reset_time='On Demand',
|
reset_time='On Demand',
|
||||||
time='Day Mth 00 00:00:00 UTC Year',
|
time='Day Mth 00 00:00:00 UTC Year',
|
||||||
time_set={0,tick_to_display_format(0)},
|
time_set={0,tick_to_display_format(0)},
|
||||||
@@ -246,6 +247,15 @@ function Sync.add_to_gui(element,...)
|
|||||||
else table.insert(Sync_gui_functions,{'string',element}) end
|
else table.insert(Sync_gui_functions,{'string',element}) end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Examples for Sync.add_to_gui
|
||||||
|
Sync.add_to_gui('Welcome to the Explosive Gaming comunity! This is one of many servers which we host.')
|
||||||
|
Sync.add_to_gui(function(player,frame)
|
||||||
|
return 'This server will reset at: '..Sync.info().reset_time
|
||||||
|
end)
|
||||||
|
Sync.add_to_gui(function(player,frame)
|
||||||
|
return 'You have been given the rank '..Ranking.get_rank(player).name..' from our Discord'
|
||||||
|
end)
|
||||||
|
|
||||||
function Sync._load()
|
function Sync._load()
|
||||||
Gui.center.add{
|
Gui.center.add{
|
||||||
name='server-info',
|
name='server-info',
|
||||||
@@ -259,13 +269,14 @@ function Sync._load()
|
|||||||
Gui.bar(_flow,200)
|
Gui.bar(_flow,200)
|
||||||
_flow.add{
|
_flow.add{
|
||||||
type='label',
|
type='label',
|
||||||
caption='Welcome To '..info.server_name,style='caption_label'
|
caption='Welcome To '..info.server_name,
|
||||||
|
style='caption_label'
|
||||||
}.style.width = 185
|
}.style.width = 185
|
||||||
Gui.bar(_flow,200)
|
Gui.bar(_flow,200)
|
||||||
if info.description then frame.add{
|
frame.add{
|
||||||
type='label',
|
type='label',
|
||||||
caption=info.description,style='description_label'
|
caption=info.server_description,style='description_label'
|
||||||
} end
|
}
|
||||||
Gui.bar(frame,600)
|
Gui.bar(frame,600)
|
||||||
local frame = frame.add{
|
local frame = frame.add{
|
||||||
type='frame',
|
type='frame',
|
||||||
@@ -275,19 +286,19 @@ function Sync._load()
|
|||||||
frame.style.width = 600
|
frame.style.width = 600
|
||||||
local text_flow = frame.add{type='flow',direction='vertical'}
|
local text_flow = frame.add{type='flow',direction='vertical'}
|
||||||
local button_flow = frame.add{type='table',column_count=3}
|
local button_flow = frame.add{type='table',column_count=3}
|
||||||
for _,element in pairs(Sync_gui_functions) do
|
for _,element in pairs(table.deepcopy(Sync_gui_functions)) do
|
||||||
local _type = table.remove(element,1)
|
local _type = table.remove(element,1)
|
||||||
if _type == 'function' then
|
if _type == 'function' then
|
||||||
local success, err = pcall(table.remove(element,1),frame.player_index,frame,unpack(element))
|
local success, err = pcall(table.remove(element,1),frame.player_index,frame,unpack(element))
|
||||||
if not success then error(err) else
|
if not success then error(err) else
|
||||||
if is_type(err,'table') then
|
if is_type(err,'table') then
|
||||||
if element.draw then element:draw(button_flow)
|
if element.draw then element:draw(button_flow)
|
||||||
else text_flow.add{type='label',caption=table.to_string(err)} end
|
else text_flow.add{type='label',caption=err} end
|
||||||
else text_flow.add{type='label',caption=tostring(err)} end
|
else text_flow.add{type='label',caption=tostring(err)} end
|
||||||
end
|
end
|
||||||
elseif _type == 'gui' then element:draw(button_flow)
|
elseif _type == 'gui' then element[1]:draw(button_flow)
|
||||||
elseif _type == 'string' then text_flow.add{type='label',caption=tostring(element)}
|
elseif _type == 'string' then text_flow.add{type='label',caption=tostring(element[1])}
|
||||||
elseif _type == 'table' then text_flow.add{type='label',caption=table.to_string(element)} end
|
elseif _type == 'table' then text_flow.add{type='label',caption=element[1]} end
|
||||||
end
|
end
|
||||||
end}
|
end}
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user