diff --git a/config/_file_loader.lua b/config/_file_loader.lua index c4a5bba6..44f73644 100644 --- a/config/_file_loader.lua +++ b/config/_file_loader.lua @@ -39,17 +39,18 @@ return { 'modules.addons.discord-alerts', 'modules.addons.chat-reply', -- GUI - 'modules.gui.rocket-info', - 'modules.gui.science-info', - 'modules.gui.warp-list', - 'modules.gui.task-list', - 'modules.gui.player-list', - 'modules.commands.debug', + --'modules.gui.rocket-info', + --'modules.gui.science-info', + --'modules.gui.warp-list', + --'modules.gui.task-list', + --'modules.gui.player-list', + --'modules.commands.debug', + 'expcore.gui', -- Config Files 'config.expcore-commands.auth_admin', -- commands tagged with admin_only are blocked for non admins 'config.expcore-commands.auth_roles', -- commands must be allowed via the role config 'config.expcore-commands.auth_runtime_disable', -- allows commands to be enabled and disabled during runtime 'config.permission_groups', -- loads some predefined permission groups 'config.roles', -- loads some predefined roles - 'expcore.gui.test' -- loads multiple gui defines to test the gui system + --'expcore.gui.test' -- loads multiple gui defines to test the gui system } \ No newline at end of file diff --git a/docs/addons/Advanced-Start.html b/docs/addons/Advanced-Start.html index 8fc6a44a..4871b8c9 100644 --- a/docs/addons/Advanced-Start.html +++ b/docs/addons/Advanced-Start.html @@ -348,7 +348,7 @@ generated by LDoc
diff --git a/docs/addons/Chat-Popups.html b/docs/addons/Chat-Popups.html index c9ea0f82..3efd7ce5 100644 --- a/docs/addons/Chat-Popups.html +++ b/docs/addons/Chat-Popups.html @@ -349,7 +349,7 @@ generated by LDoc diff --git a/docs/addons/Chat-Reply.html b/docs/addons/Chat-Reply.html index d6eda160..c5d3cfc4 100644 --- a/docs/addons/Chat-Reply.html +++ b/docs/addons/Chat-Reply.html @@ -376,7 +376,7 @@ generated by LDoc diff --git a/docs/addons/Compilatron.html b/docs/addons/Compilatron.html index 4fafcaa9..57a4a065 100644 --- a/docs/addons/Compilatron.html +++ b/docs/addons/Compilatron.html @@ -585,7 +585,7 @@ generated by LDoc diff --git a/docs/addons/Damage-Popups.html b/docs/addons/Damage-Popups.html index a445fe5a..f42f7dee 100644 --- a/docs/addons/Damage-Popups.html +++ b/docs/addons/Damage-Popups.html @@ -349,7 +349,7 @@ generated by LDoc diff --git a/docs/addons/Death-Logger.html b/docs/addons/Death-Logger.html index faadc765..6f540b7d 100644 --- a/docs/addons/Death-Logger.html +++ b/docs/addons/Death-Logger.html @@ -404,7 +404,7 @@ generated by LDoc diff --git a/docs/addons/Discord-Alerts.html b/docs/addons/Discord-Alerts.html index e0ecba4b..e9f689ac 100644 --- a/docs/addons/Discord-Alerts.html +++ b/docs/addons/Discord-Alerts.html @@ -460,7 +460,7 @@ generated by LDoc diff --git a/docs/addons/Player-Colours.html b/docs/addons/Player-Colours.html index 8a60609c..06a8e29a 100644 --- a/docs/addons/Player-Colours.html +++ b/docs/addons/Player-Colours.html @@ -404,7 +404,7 @@ generated by LDoc diff --git a/docs/addons/Pollution-Grading.html b/docs/addons/Pollution-Grading.html index 46baddb7..806b86fd 100644 --- a/docs/addons/Pollution-Grading.html +++ b/docs/addons/Pollution-Grading.html @@ -320,7 +320,7 @@ generated by LDoc diff --git a/docs/addons/Scorched-Earth.html b/docs/addons/Scorched-Earth.html index c4f4487d..bcfab620 100644 --- a/docs/addons/Scorched-Earth.html +++ b/docs/addons/Scorched-Earth.html @@ -404,7 +404,7 @@ generated by LDoc diff --git a/docs/addons/Spawn-Area.html b/docs/addons/Spawn-Area.html index 6b3002a3..7f9b0c0a 100644 --- a/docs/addons/Spawn-Area.html +++ b/docs/addons/Spawn-Area.html @@ -376,7 +376,7 @@ generated by LDoc diff --git a/docs/commands/Admin-Chat.html b/docs/commands/Admin-Chat.html index 04b6b9fe..0a936c4e 100644 --- a/docs/commands/Admin-Chat.html +++ b/docs/commands/Admin-Chat.html @@ -388,7 +388,7 @@ generated by LDoc diff --git a/docs/commands/Bonus.html b/docs/commands/Bonus.html index 3786a596..e7e42cdd 100644 --- a/docs/commands/Bonus.html +++ b/docs/commands/Bonus.html @@ -500,7 +500,7 @@ generated by LDoc diff --git a/docs/commands/Cheat-Mode.html b/docs/commands/Cheat-Mode.html index 81523c11..53b422c3 100644 --- a/docs/commands/Cheat-Mode.html +++ b/docs/commands/Cheat-Mode.html @@ -361,7 +361,7 @@ generated by LDoc diff --git a/docs/commands/Clear-Inventory.html b/docs/commands/Clear-Inventory.html index a250f390..17ef4f9d 100644 --- a/docs/commands/Clear-Inventory.html +++ b/docs/commands/Clear-Inventory.html @@ -388,7 +388,7 @@ generated by LDoc diff --git a/docs/commands/Debug.html b/docs/commands/Debug.html index 0af8bb1c..880bb18e 100644 --- a/docs/commands/Debug.html +++ b/docs/commands/Debug.html @@ -365,7 +365,7 @@ generated by LDoc diff --git a/docs/commands/Find.html b/docs/commands/Find.html index 0f1ae48d..f8d25958 100644 --- a/docs/commands/Find.html +++ b/docs/commands/Find.html @@ -360,7 +360,7 @@ generated by LDoc diff --git a/docs/commands/Help.html b/docs/commands/Help.html index 024c376f..b7d54d80 100644 --- a/docs/commands/Help.html +++ b/docs/commands/Help.html @@ -404,7 +404,7 @@ generated by LDoc diff --git a/docs/commands/Home.html b/docs/commands/Home.html index d4881527..d279fe65 100644 --- a/docs/commands/Home.html +++ b/docs/commands/Home.html @@ -458,7 +458,7 @@ generated by LDoc diff --git a/docs/commands/Interface.html b/docs/commands/Interface.html index eeaf7d3d..8458181f 100644 --- a/docs/commands/Interface.html +++ b/docs/commands/Interface.html @@ -416,7 +416,7 @@ generated by LDoc diff --git a/docs/commands/Jail.html b/docs/commands/Jail.html index 67d43bef..214140d6 100644 --- a/docs/commands/Jail.html +++ b/docs/commands/Jail.html @@ -611,7 +611,7 @@ generated by LDoc diff --git a/docs/commands/Kill.html b/docs/commands/Kill.html index 967cb7e1..421f28a9 100644 --- a/docs/commands/Kill.html +++ b/docs/commands/Kill.html @@ -389,7 +389,7 @@ generated by LDoc diff --git a/docs/commands/Me.html b/docs/commands/Me.html index fbba050f..a31f9a45 100644 --- a/docs/commands/Me.html +++ b/docs/commands/Me.html @@ -360,7 +360,7 @@ generated by LDoc diff --git a/docs/commands/Rainbow.html b/docs/commands/Rainbow.html index f30d335d..439294a8 100644 --- a/docs/commands/Rainbow.html +++ b/docs/commands/Rainbow.html @@ -388,7 +388,7 @@ generated by LDoc diff --git a/docs/commands/Repair.html b/docs/commands/Repair.html index 361a22d7..98e6942b 100644 --- a/docs/commands/Repair.html +++ b/docs/commands/Repair.html @@ -321,7 +321,7 @@ generated by LDoc diff --git a/docs/commands/Reports.html b/docs/commands/Reports.html index f94af164..1957df69 100644 --- a/docs/commands/Reports.html +++ b/docs/commands/Reports.html @@ -585,7 +585,7 @@ generated by LDoc diff --git a/docs/commands/Roles.html b/docs/commands/Roles.html index 3bc1f04d..0f9bc8b1 100644 --- a/docs/commands/Roles.html +++ b/docs/commands/Roles.html @@ -557,7 +557,7 @@ generated by LDoc diff --git a/docs/commands/Spawn.html b/docs/commands/Spawn.html index 257da669..f72dbee2 100644 --- a/docs/commands/Spawn.html +++ b/docs/commands/Spawn.html @@ -389,7 +389,7 @@ generated by LDoc diff --git a/docs/commands/Tag.html b/docs/commands/Tag.html index 63606adc..60783e88 100644 --- a/docs/commands/Tag.html +++ b/docs/commands/Tag.html @@ -443,7 +443,7 @@ generated by LDoc diff --git a/docs/commands/Teleport.html b/docs/commands/Teleport.html index 472651ba..353738fe 100644 --- a/docs/commands/Teleport.html +++ b/docs/commands/Teleport.html @@ -484,7 +484,7 @@ generated by LDoc diff --git a/docs/commands/Warnings.html b/docs/commands/Warnings.html index a62c9b8e..d33d1547 100644 --- a/docs/commands/Warnings.html +++ b/docs/commands/Warnings.html @@ -569,7 +569,7 @@ generated by LDoc diff --git a/docs/configs/Advanced-Start.html b/docs/configs/Advanced-Start.html index 02b2965a..94b0896f 100644 --- a/docs/configs/Advanced-Start.html +++ b/docs/configs/Advanced-Start.html @@ -506,7 +506,7 @@ generated by LDoc diff --git a/docs/configs/Bonuses.html b/docs/configs/Bonuses.html index 2e3966d2..e7bb072a 100644 --- a/docs/configs/Bonuses.html +++ b/docs/configs/Bonuses.html @@ -237,7 +237,7 @@ generated by LDoc diff --git a/docs/configs/Chat-Reply.html b/docs/configs/Chat-Reply.html index 727827bc..ee1e2dd2 100644 --- a/docs/configs/Chat-Reply.html +++ b/docs/configs/Chat-Reply.html @@ -485,7 +485,7 @@ generated by LDoc diff --git a/docs/configs/Commands-Auth-Admin.html b/docs/configs/Commands-Auth-Admin.html index fd824730..157b0311 100644 --- a/docs/configs/Commands-Auth-Admin.html +++ b/docs/configs/Commands-Auth-Admin.html @@ -294,7 +294,7 @@ generated by LDoc diff --git a/docs/configs/Commands-Auth-Roles.html b/docs/configs/Commands-Auth-Roles.html index 4f49a827..59a9ed26 100644 --- a/docs/configs/Commands-Auth-Roles.html +++ b/docs/configs/Commands-Auth-Roles.html @@ -320,7 +320,7 @@ generated by LDoc diff --git a/docs/configs/Commands-Auth-Runtime-Disable.html b/docs/configs/Commands-Auth-Runtime-Disable.html index 9aacac5f..b299522c 100644 --- a/docs/configs/Commands-Auth-Runtime-Disable.html +++ b/docs/configs/Commands-Auth-Runtime-Disable.html @@ -442,7 +442,7 @@ generated by LDoc diff --git a/docs/configs/Commands-Parse-Roles.html b/docs/configs/Commands-Parse-Roles.html index 64d71e20..42155a89 100644 --- a/docs/configs/Commands-Parse-Roles.html +++ b/docs/configs/Commands-Parse-Roles.html @@ -354,7 +354,7 @@ generated by LDoc diff --git a/docs/configs/Commands-Parse.html b/docs/configs/Commands-Parse.html index 574f8aa4..8128d402 100644 --- a/docs/configs/Commands-Parse.html +++ b/docs/configs/Commands-Parse.html @@ -338,7 +338,7 @@ see ./expcore/commands.lua for more details generated by LDoc diff --git a/docs/configs/Compilatron.html b/docs/configs/Compilatron.html index 98043b31..0932f52e 100644 --- a/docs/configs/Compilatron.html +++ b/docs/configs/Compilatron.html @@ -354,7 +354,7 @@ generated by LDoc diff --git a/docs/configs/Death-Logger.html b/docs/configs/Death-Logger.html index 859cf7d9..1e635943 100644 --- a/docs/configs/Death-Logger.html +++ b/docs/configs/Death-Logger.html @@ -416,7 +416,7 @@ generated by LDoc diff --git a/docs/configs/Discord-Alerts.html b/docs/configs/Discord-Alerts.html index 4139d6e6..7214429c 100644 --- a/docs/configs/Discord-Alerts.html +++ b/docs/configs/Discord-Alerts.html @@ -237,7 +237,7 @@ generated by LDoc diff --git a/docs/configs/File-Loader.html b/docs/configs/File-Loader.html index 8aa4661f..21a5ee90 100644 --- a/docs/configs/File-Loader.html +++ b/docs/configs/File-Loader.html @@ -240,7 +240,7 @@ generated by LDoc diff --git a/docs/configs/Permission-Groups.html b/docs/configs/Permission-Groups.html index 305e744d..1ab7621e 100644 --- a/docs/configs/Permission-Groups.html +++ b/docs/configs/Permission-Groups.html @@ -295,7 +295,7 @@ generated by LDoc diff --git a/docs/configs/Player-List.html b/docs/configs/Player-List.html index 2c9fc83f..bd67fe6b 100644 --- a/docs/configs/Player-List.html +++ b/docs/configs/Player-List.html @@ -812,7 +812,7 @@ generated by LDoc diff --git a/docs/configs/Pollution-Grading.html b/docs/configs/Pollution-Grading.html index 64d7f6f0..d775b006 100644 --- a/docs/configs/Pollution-Grading.html +++ b/docs/configs/Pollution-Grading.html @@ -384,7 +384,7 @@ generated by LDoc diff --git a/docs/configs/Popup-Messages.html b/docs/configs/Popup-Messages.html index 114b8348..02436326 100644 --- a/docs/configs/Popup-Messages.html +++ b/docs/configs/Popup-Messages.html @@ -414,7 +414,7 @@ generated by LDoc diff --git a/docs/configs/Preset-Player-Colours.html b/docs/configs/Preset-Player-Colours.html index 824291f5..2d2a05a7 100644 --- a/docs/configs/Preset-Player-Colours.html +++ b/docs/configs/Preset-Player-Colours.html @@ -324,7 +324,7 @@ generated by LDoc diff --git a/docs/configs/Repair.html b/docs/configs/Repair.html index e61920c5..5141d747 100644 --- a/docs/configs/Repair.html +++ b/docs/configs/Repair.html @@ -414,7 +414,7 @@ generated by LDoc diff --git a/docs/configs/Rockets.html b/docs/configs/Rockets.html index 929fbf4c..f011e724 100644 --- a/docs/configs/Rockets.html +++ b/docs/configs/Rockets.html @@ -834,7 +834,7 @@ generated by LDoc diff --git a/docs/configs/Roles.html b/docs/configs/Roles.html index 5c7aabf3..e435071a 100644 --- a/docs/configs/Roles.html +++ b/docs/configs/Roles.html @@ -292,7 +292,7 @@ generated by LDoc diff --git a/docs/configs/Science.html b/docs/configs/Science.html index c9c7fd1c..bea29f94 100644 --- a/docs/configs/Science.html +++ b/docs/configs/Science.html @@ -354,7 +354,7 @@ generated by LDoc diff --git a/docs/configs/Scorched-Earth.html b/docs/configs/Scorched-Earth.html index 3c038550..f271bf65 100644 --- a/docs/configs/Scorched-Earth.html +++ b/docs/configs/Scorched-Earth.html @@ -388,7 +388,7 @@ generated by LDoc diff --git a/docs/configs/Spawn-Area.html b/docs/configs/Spawn-Area.html index 4395fc07..a1a68698 100644 --- a/docs/configs/Spawn-Area.html +++ b/docs/configs/Spawn-Area.html @@ -744,7 +744,7 @@ generated by LDoc diff --git a/docs/configs/Tasks.html b/docs/configs/Tasks.html index 1bd48171..e4f9760a 100644 --- a/docs/configs/Tasks.html +++ b/docs/configs/Tasks.html @@ -384,7 +384,7 @@ generated by LDoc diff --git a/docs/configs/Warnings.html b/docs/configs/Warnings.html index 78291b18..751529ef 100644 --- a/docs/configs/Warnings.html +++ b/docs/configs/Warnings.html @@ -355,7 +355,7 @@ generated by LDoc diff --git a/docs/configs/Warps.html b/docs/configs/Warps.html index c8a87917..3840e9b9 100644 --- a/docs/configs/Warps.html +++ b/docs/configs/Warps.html @@ -684,7 +684,7 @@ generated by LDoc diff --git a/docs/control/Jail.html b/docs/control/Jail.html index 46633de1..8ed47a2e 100644 --- a/docs/control/Jail.html +++ b/docs/control/Jail.html @@ -1208,7 +1208,7 @@ generated by LDoc diff --git a/docs/control/Production.html b/docs/control/Production.html index ea5291cb..2cac6422 100644 --- a/docs/control/Production.html +++ b/docs/control/Production.html @@ -1329,7 +1329,7 @@ generated by LDoc diff --git a/docs/control/Reports.html b/docs/control/Reports.html index 4470dca7..16391654 100644 --- a/docs/control/Reports.html +++ b/docs/control/Reports.html @@ -1110,7 +1110,7 @@ generated by LDoc diff --git a/docs/control/Rockets.html b/docs/control/Rockets.html index ea2c7aae..831e5343 100644 --- a/docs/control/Rockets.html +++ b/docs/control/Rockets.html @@ -984,7 +984,7 @@ generated by LDoc diff --git a/docs/control/Tasks.html b/docs/control/Tasks.html index 41068882..c68201ec 100644 --- a/docs/control/Tasks.html +++ b/docs/control/Tasks.html @@ -998,7 +998,7 @@ Tasks.update_task(task_id,'We need more iron!',game. generated by LDoc diff --git a/docs/control/Warnings.html b/docs/control/Warnings.html index abec17b0..ff7f7802 100644 --- a/docs/control/Warnings.html +++ b/docs/control/Warnings.html @@ -1465,7 +1465,7 @@ generated by LDoc diff --git a/docs/control/Warps.html b/docs/control/Warps.html index ebb0dfb5..7791b32f 100644 --- a/docs/control/Warps.html +++ b/docs/control/Warps.html @@ -1563,7 +1563,7 @@ Warps.make_warp_tag(warp_id) generated by LDoc diff --git a/docs/core/Commands.html b/docs/core/Commands.html index 07dfce01..075e5bb8 100644 --- a/docs/core/Commands.html +++ b/docs/core/Commands.html @@ -1972,7 +1972,7 @@ generated by LDoc diff --git a/docs/core/Common-Library.html b/docs/core/Common-Library.html index 4206d114..caba804c 100644 --- a/docs/core/Common-Library.html +++ b/docs/core/Common-Library.html @@ -2746,7 +2746,7 @@ Common.table_insert(tbl,50,tbl2) generated by LDoc diff --git a/docs/core/Gui.html b/docs/core/Gui.html index 09dee1fe..74601e95 100644 --- a/docs/core/Gui.html +++ b/docs/core/Gui.html @@ -42,21 +42,12 @@Core Module - Gui - - This file is used to require all the different elements of the gui module - - each module has an outline here but for more details see their separate files in ./gui - - please read the files for more documentation that cant be shown here - - please note there is a rework planned but not started
+- Used to define new gui elements and gui event handlers @@ -263,6 +242,42 @@ +-- Defining a button that prints the player's name
+local example_button =
+Gui.new_element{
+ type = 'button',
+ caption = 'Example Button'
+}
+:on_click(function(event)
+ local player = event.player
+ player.print(player.name)
+end)
+ -- Defining using a custom function
+local example_flow_with_button =
+Gui.new_element(function(event_trigger,parent)
+ local flow =
+ parent.add{
+ name = 'example_flow',
+ type = 'flow'
+ }
+
+ local element =
+ flow.add{
+ name = event_trigger,
+ type = 'button',
+ caption = 'Example Button'
+ }
+
+ return element
+end)
+:on_click(function(event)
+ local player = event.player
+ player.print(player.name)
+end)
+ -- Drawing an element
+local exmple_button_element = example_button(parent)
+local example_flow_with_button = example_flow_with_button(parent)
@@ -275,840 +290,178 @@
| expcore.gui.core | -|
| expcore.gui.prototype | -|
| expcore.gui.concepts.toolbar | -|
| utils.game | -|
| CenterFrames.get_flow(player) | -Gets the center flow for a player | -
| CenterFrames.clear_flow(player) | -Clears the center flow for a player | -
| CenterFrames.draw_frame(player, name) | -Draws the center frame for a player, if already open then will do nothing | -
| CenterFrames.redraw_frame(player, name) | -Draws the center frame for a player, if already open then will destroy it and redraw | -
| CenterFrames.toggle_frame(player, name[, state]) | -Toggles if the frame is currently open or not, will open if closed and close if open | -
| CenterFrames.new_frame(permission_name) | -Creates a new center frame define | -
| CenterFrames._prototype:set_auto_focus([state=true]) | -Sets the frame to be the current active gui when opened and closes all other frames | -
| CenterFrames._prototype:draw_frame(player) | -Draws this frame to the player, if already open does nothing (will call on_draw to draw to the frame) | -
| CenterFrames._prototype:redraw_frame(player) | -Draws this frame to the player, if already open it will remove it and redraw it (will call on_draw to draw to the frame) | -
| CenterFrames._prototype:toggle_frame(player) | -Toggles if the frame is open, if open it will close it and if closed it will open it | -
| CenterFrames._prototype:event_handler([action=update]) | -Creates an event handler that will trigger one of its functions, use with Event.add | -
| expcore.gui.core | -|
| expcore.gui.prototype | -|
| expcore.gui.concepts.toolbar | -|
| expcore.gui.elements.buttons | +utils.event |
| mod-gui |
| utils.game | +top_elements | +Contains the uids of the elements that will show on the top flow and the auth function | |
| utils.event | +left_elements | +Contains the uids of the elements that will show on the left flow and the open on join function | |
| LeftFrames.get_flow(player) | -Gets the left frame flow for a player | +defines | +Table of all the elements which have been registed with the draw function and event handlers |
| LeftFrames.get_frame(name, player) | -Gets one frame from the left flow by its name | +file_paths | +An index used for debuging to find the file where different elements where registered |
| LeftFrames.get_open(player) | -Gets all open frames for a player, if non are open it will remove the close all button | +_prototype_element | +The element prototype which is returned from Gui.new_element |
| LeftFrames.toggle_frame(name, player[, state]) | -Toggles the visibility of a left frame, or sets its visibility state | -||
| LeftFrames.new_frame(permission_name) | -Creates a new left frame define | -||
| LeftFrames._prototype:set_open_by_default([state=true]) | -Sets if the frame is visible when a player joins, can also be a function to return a boolean | -||
| LeftFrames._prototype:set_direction(direction) | -Sets the direction of the frame, either vertical or horizontal | -||
| LeftFrames._prototype:_internal_draw(player) | -Creates the gui for the first time, used internally | -||
| LeftFrames._prototype:get_frame(player) | -Gets the frame for this define from the left frame flow | -||
| LeftFrames._prototype:is_open(player) | -Returns if the player currently has this define visible | -||
| LeftFrames._prototype:toggle(player) | -Toggles the visibility of the left frame | -||
| LeftFrames._prototype:update(player) | -Updates the contents of the left frame, first tries update callback, other wise will clear and redraw | -||
| LeftFrames._prototype:update_all([update_offline=false]) | -Updates the frame for all players, see update | -||
| LeftFrames._prototype:redraw(player) | -Redraws the frame by calling on_draw, will always clear the frame | -||
| LeftFrames._prototype:redraw_all([update_offline=false]) | -Redraws the frame for all players, see redraw | -||
| LeftFrames._prototype:event_handler([action=update]) | -Creates an event handler that will trigger one of its functions, use with Event.add | +_mt_element | +The prototype metatable applied to new element defines |
| expcore.gui.core | -|||
| expcore.gui.prototype | -|||
| utils.game | -|||
| utils.event | -|||
| expcore.gui.elements.progress-bar | -|||
| expcore.gui.elements.buttons | -|||
| mod-gui | -|||
| resources.color_presets | -|||
| utils.global | -|||
| PopupFrames.get_flow(player) | -Gets the left flow that contains the popup frames | -||
| PopupFrames.open(define_name, player[, open_time], ...) | -Opens a popup for the player, can give the amount of time it is open as well as params for the draw function | -||
| PopupFrames.close_progress | -Progress bar which when depleted will close the popup frame | -||
| PopupFrames.close_button | -A button which can be used to close the gui before the timer runs out | -||
| PopupFrames.new_popup([name]) | -Creates a new popup frame define | -||
| PopupFrames._prototype:set_default_open_time(amount) | -Sets the default open time for the popup, will be used if non is provided with open | -||
| PopupFrames._prototype:open(player[, open_time], ...) | -Opens this define for a player, can be given open time and any other params for the draw function | +uid | +The current highest uid that is being used, will not increase during runtime |
| expcore.gui.core | +new_element(element_define) | +Base function used to define new elements, can be used with a table or with a function | |
| expcore.gui.elements.buttons | +Gui._prototype_element:add_to_top_flow([authenticator]) | +Adds an element to be drawn to the top flow when a player joins | |
| expcore.roles | -|||
| utils.event | -|||
| utils.game | -|||
| mod-gui | -|||
| Toolbar.new_button([name]) | -Adds a new button to the toolbar | -||
| Toolbar.add_button(button) | -Adds an existing buttton to the toolbar | -||
| Toolbar.update(player) | -Updates the player's toolbar with an new buttons or expected change in auth return | +Gui._prototype_element:add_to_left_flow([open_on_join]) | +Adds an element to be drawn to the left flow when a player joins |
| utils.gui | +Gui._prototype_element.on_opened | +Called when the player opens a GUI. | |
| utils.game | +Gui._prototype_element.on_closed | +Called when the player closes the GUI they have open. | |
| new_define(prototype[, debug_name]) | -Used to create new element defines from a class prototype, please use the own given by the class | +Gui._prototype_element.on_click | +Called when LuaGuiElement is clicked. |
| get_define(name[, internal]) | -Gets an element define give the uid, debug name or a copy of the element define | +Gui._prototype_element.on_confirmed | +Called when a LuaGuiElement is confirmed, for example by pressing Enter in a textfield. |
| categorize_by_player(element) | -A categorize function to be used with add_store, each player has their own value | +Gui._prototype_element.on_checked_changed | +Called when LuaGuiElement checked state is changed (related to checkboxes and radio buttons). |
| categorize_by_force(element) | -A categorize function to be used with add_store, each force has its own value | +Gui._prototype_element.on_elem_changed | +Called when LuaGuiElement element value is changed (related to choose element buttons). |
| categorize_by_surface(element) | -A categorize function to be used with add_store, each surface has its own value | +Gui._prototype_element.on_location_changed | +Called when LuaGuiElement element location is changed (related to frames in player.gui.screen). |
| draw(name, element) | -Draws a copy of the element define to the parent element, see draw_to | +Gui._prototype_element.on_tab_changed | +Called when LuaGuiElement selected tab is changed (related to tabbed-panes). |
| toggle_enabled(element) | -Will toggle the enabled state of an element | +Gui._prototype_element.on_selection_changed | +Called when LuaGuiElement selection state is changed (related to drop-downs and listboxes). |
| toggle_visible(element) | -Will toggle the visiblity of an element | +Gui._prototype_element.on_switch_changed | +Called when LuaGuiElement switch state is changed (related to switches). |
| set_padding(element[, up=0][, down=0][, left=0][, right=0]) | -Sets the padding for a gui element | +Gui._prototype_element.on_text_change | +Called when LuaGuiElement text is changed by the player. |
| set_padding_style(style[, up=0][, down=0][, left=0][, right=0]) | -Sets the padding for a gui style | -||
| create_alignment(element[, name][, horizontal_align='right'][, vertical_align='center']) | -Allows the creation of an alignment flow to place elements into | -||
| destroy_if_valid(element) | -Destroies an element but tests for it being present and valid first | -||
| create_scroll_table(element, table_size, maximal_height[, name='scroll']) | -Creates a scroll area with a table inside, table can be any size | -||
| create_header(element, caption[, tooltip][, right_align][, name='header']) | -Creates a header section with a label and button area | +Gui._prototype_element.on_value_changed | +Called when LuaGuiElement slider value is changed (related to the slider element). |
| mod-gui | +toggle_top_flow | +Button which toggles the top flow elements | |
| expcore.gui.core | +get_top_flow(player) | +Gets the flow which contains the elements for the top flow | |
| expcore.gui.prototype | +update_top_flow(player) | +Updates the visible states of all the elements on a players top flow | |
| Button.new_button([name]) | -Creates a new button element define | -||
| Button._prototype:set_sprites(sprite[, hovered_sprite][, clicked_sprite]) | -Adds sprites to a button making it a sprite button | -||
| Button._prototype:set_click_filter(filter[, ...]) | -Adds a click / mouse button filter to the button | -||
| Button._prototype:set_key_filter(filter[, ...]) | -Adds a control key filter to the button | +toggle_top_flow(player[, state]) | +Toggles the visible states of all the elements on a players top flow |
| expcore.gui.core | +hide_left_flow | +Button which hides the elements in the left flow |
| expcore.gui.prototype | +get_left_flow(player) | +Gets the flow which contains the elements for the left flow |
| expcore.store | +hide_left_flow(player) | +Hides all left elements for a player |
| utils.game | -||
| Checkbox.new_checkbox([name]) | -Creates a new checkbox element define | -|
| Checkbox.new_radiobutton([name]) | -Creates a new radiobutton element define, has all functions checkbox has | -|
| Checkbox._prototype_radiobutton:add_as_option(option_set, option_name) | -Adds this radiobutton to be an option in the given option set (only one can be true at a time) | -|
| Checkbox._prototype_radiobutton:get_store(category, internal) | -Gets the stored value of the radiobutton or the option set if present | -|
| Checkbox._prototype_radiobutton:set_store(category, value, internal) | -Sets the stored value of the radiobutton or the option set if present | -|
| Checkbox.new_option_set(callback, categorize) | -Registers a new option set that can be linked to radiobuttons (only one can be true at a time) | -|
| Checkbox.draw_option_set(name, element) | -Draws all radiobuttons that are part of an option set at once (Gui.draw will not work) | -|
| Checkbox.reset_radiobuttons(element[, exclude][, recursive=false]) | -Sets all radiobutton in a element to false (unless excluded) and can act recursively | -
| expcore.gui.core | -|
| expcore.gui.prototype | -|
| utils.game | -|
| Dropdown.new_dropdown([name]) | -Creates a new dropdown element define | -
| Dropdown.new_list_box([name]) | -Creates a new list box element define | -
| Dropdown._prototype:new_static_options(options[, ...], the) | -Adds new static options to the dropdown which will trigger the general callback | -
| Dropdown._prototype:new_dynamic_options(callback) | -Adds a callback which should return a table of values to be added as options for the dropdown (appended after static options) | -
| Dropdown._prototype:add_option_callback(option, callback) | -Adds a case specific callback which will only run when that option is selected (general case still triggered) | -
| Dropdown.select_value(element, value) | -Selects the option from a dropdown or list box given the value rather than key | -
| Dropdown.get_selected_value(element) | -Returns the currently selected value rather than index | -
| expcore.gui.core | -|
| expcore.gui.prototype | -|
| utils.game | -|
| ElemButton.new_elem_button([name]) | -Creates a new elem button element define | -
| ElemButton._prototype.set_type | -Sets the type of the elem button, the type is required so this must be called at least once | -
| ElemButton._prototype:set_default(value) | -Sets the default value for the elem button, this may be a function or a string | -
| expcore.gui.core | -|
| expcore.gui.prototype | -|
| utils.global | -|
| utils.game | -|
| ProgressBar.set_maximum(element, amount) | -Sets the maximum value that represents the end value of the progress bar | -
| ProgressBar.increment(element[, amount=1]) | -Increases the value of the progressbar, if a define is given all of its instances have incremented | -
| ProgressBar.decrement(element[, amount=1]) | -Decreases the value of the progressbar, if a define is given all of its instances have decremented | -
| ProgressBar.new_progressbar([name]) | -Creates a new progressbar element define | -
| ProgressBar._prototype:set_default_maximum(amount) | -Sets the maximum value that represents the end value of the progress bar | -
| ProgressBar._prototype:use_count_down([state=true]) | -Will set the progress bar to start at 1 and trigger when it hits 0 | -
| ProgressBar._prototype:increment([amount=1][, category]) | -Increases the value of the progressbar | -
| ProgressBar._prototype:increment_filtered([amount=1], filter) | -Increases the value of the progressbar, if the filter condition is met, does not work with store | -
| ProgressBar._prototype:decrement([amount=1][, category]) | -Decreases the value of the progressbar | -
| ProgressBar._prototype:decrement_filtered([amount=1], filter) | -Decreases the value of the progressbar, if the filter condition is met, does not work with store | -
| ProgressBar._prototype:add_element(element[, maximum]) | -Adds an element into the list of instances that will are waiting to complete, does not work with store - note use store if you want persistent data, this only stores the elements not the values which they have | -
| ProgressBar._prototype:reset_element(element) | -Resets an element, or its store, to be back at the start, either 1 or 0 | -
| ProgressBar._prototype:event_counter([filter]) | -Event handler factory that counts up by 1 every time the event triggers, can filter which elements have incremented | -
| ProgressBar._prototype:event_countdown([filter]) | -Event handler factory that counts down by 1 every time the event triggers, can filter which elements have decremented | -
| expcore.gui.core | -|
| expcore.gui.prototype | -|
| expcore.gui.instances | -|
| utils.game | -|
| Slider.new_slider([name]) | -Creates a new slider element define | -
| Slider._prototype:set_range([min][, max]) | -Sets the range of a slider, if not used will use default values for a slider | -
| Slider._prototype:draw_label(element) | -Draws a new label and links its value to the value of this slider, if no store then it will only show one value per player | -
| Slider._prototype:enable_auto_draw_label([state=true]) | -Enables auto draw of the label, the label will share the same parent element as the slider | -
| expcore.gui.core | -|
| expcore.gui.prototype | -|
| utils.game | -|
| Text.new_text_field([name]) | -Creates a new text field element define | -
| Text.new_text_box([name]) | -Creates a new text box element define | -
| Text._prototype_box:set_selectable([state=true]) | -Sets the text box to be selectable | -
| Text._prototype_box:set_word_wrap([state=true]) | -Sets the text box to have word wrap | -
| Text._prototype_box:set_read_only([state=true]) | -Sets the text box to be read only | -
| utils.global | -|
| Instances.has_categories(name) | -Returns if a instance group has a serializer function; must be registered | -
| Instances.is_registered(name) | -Returns if the given name is a registered instance group | -
| Instances.register(name[, serializer]) | -Registers the name of an instance group to allow for storing element instances | -
| Instances.add_element(name, element) | -Adds an element to the instance group under the correct category; must be registered | -
| Instances.get_elements_raw(name[, category]) | -Gets all element instances without first removing any invalid ones; used internally and must be registered | -
| Instances.get_valid_elements(name[, category][, callback]) | -Gets all valid element instances and has the option of running a callback on those that are valid | -
| Instances.unregistered_add_element(name, category, element) | -A version of add_element that does not require the group to be registered | -
| Instances.unregistered_get_elements(name, category[, callback]) | -A version of get_elements that does not require the group to be registered | -
| utils.game | -|
| expcore.store | -|
| expcore.gui.instances | -|
| Constructor.event(event_name) | -Creates a new function to add functions to an event handler | -
| Constructor.extend(new_prototype) | -Extents a prototype with the base functions of all gui prototypes, no metatables | -
| Constructor.store(callback) | -Creates a new function which adds a store to a gui define | -
| Constructor.setter(value_type, key[, second_key]) | -Creates a setter function that checks the type when a value is set | -
| Prototype:uid() | -Gets the uid for the element define | -
| Prototype.debug_name | -Sets a debug alias for the define | -
| Prototype.set_caption | -Sets the caption for the element define | -
| Prototype.set_tooltip | -Sets the tooltip for the element define | -
| Prototype.set_pre_authenticator | -Sets an authenticator that blocks the draw function if check fails | -
| Prototype.set_post_authenticator | -Sets an authenticator that disables the element if check fails | -
| Prototype.on_draw | -Registers a callback to the on_draw event | -
| Prototype.on_style_update | -Registers a callback to the on_style_update event | -
| Prototype:set_style(style[, callback]) | -Sets the style for the element define | -
| Prototype:set_embedded_flow(state) | -Sets the element to be drawn inside a nameless flow, can be given a name using a function | -
| Prototype:raise_event(event_name, ...) | -Raises a custom event for this define, any number of params can be given | -
| Prototype:draw_to(element) | -The main function for defines, when called will draw an instance of this define to the given element - what is drawn is based on the data in draw_data which is set using other functions | -
| Prototype:get_store(category) | -Gets the value in this elements store, category needed if serializer function used | -
| Prototype:set_store(category, value) | -Sets the value in this elements store, category needed if serializer function used | -
| Prototype:clear_store([category]) | -Sets the value in this elements store to nil, category needed if serializer function used | -
| expcore.gui | -||
| expcore.common | -||
| resources.color_presets | -||
| utils.event | -||
| expcore.store | +toggle_left_element(player, element_define[, state]) | +Toggles the visible state of all a left element for a player |
Gets the center flow for a player
- - - - Parameters: - -Clears the center flow for a player
- - - - Parameters: - -Draws the center frame for a player, if already open then will do nothing
- - - - Parameters: - -Draws the center frame for a player, if already open then will destroy it and redraw
- - - - Parameters: - -Toggles if the frame is currently open or not, will open if closed and close if open
- - - - Parameters: - -Creates a new center frame define
- - - - Parameters: - -Sets the frame to be the current active gui when opened and closes all other frames
- - - - Parameters: - -Draws this frame to the player, if already open does nothing (will call on_draw to draw to the frame)
- - - - Parameters: - -Draws this frame to the player, if already open it will remove it and redraw it (will call on_draw to draw to the frame)
- - - - Parameters: - -Toggles if the frame is open, if open it will close it and if closed it will open it
- - - - Parameters: - -Creates an event handler that will trigger one of its functions, use with Event.add
- - - - Parameters: - -Contains the uids of the elements that will show on the top flow and the auth function
+ @@ -2376,13 +555,15 @@Contains the uids of the elements that will show on the left flow and the open on join function
+ @@ -2401,14 +582,196 @@Gets the left frame flow for a player
+Table of all the elements which have been registed with the draw function and event handlers
+ + + + + + + + + + + + + + + + +An index used for debuging to find the file where different elements where registered
+ + + + + + + + + + + + + + + + +The element prototype which is returned from Gui.new_element
+ + + + + + + + + + + + + + + + +The prototype metatable applied to new element defines
+ + + + Fields: + +The current highest uid that is being used, will not increase during runtime
+ + + + +Base function used to define new elements, can be used with a table or with a function
@@ -2422,143 +785,13 @@Gets one frame from the left flow by its name
- - - - Parameters: - -Gets all open frames for a player, if non are open it will remove the close all button
- - - - Parameters: - --- Defining an element with a table
+local example_button =
+Gui.new_element{
+ type = 'button',
+ caption = 'Example Button'
+}
+ -- Defining an element with a function
+local example_flow_with_button =
+Gui.new_element(function(event_trigger,parent)
+ local flow =
+ parent.add{
+ name = 'example_flow',
+ type = 'flow'
+ }
+
+ local element =
+ flow.add{
+ name = event_trigger,
+ type = 'button',
+ caption = 'Example Button'
+ }
+
+ return element
+end)
Toggles the visibility of a left frame, or sets its visibility state
+Adds an element to be drawn to the top flow when a player joins
@@ -2609,45 +867,13 @@-- Adding the example button
+example_button:add_to_top_flow(function(player)
+ -- example button will only show when game time is less than 1 minute
+ return player.online_time < 3600
+end)
Creates a new left frame define
+Adds an element to be drawn to the left flow when a player joins
@@ -2699,606 +924,15 @@Sets if the frame is visible when a player joins, can also be a function to return a boolean
- - - - Parameters: - -Sets the direction of the frame, either vertical or horizontal
- - - - Parameters: - -Creates the gui for the first time, used internally
- - - - Parameters: - -Gets the frame for this define from the left frame flow
- - - - Parameters: - -Returns if the player currently has this define visible
- - - - Parameters: - -Toggles the visibility of the left frame
- - - - Parameters: - -Updates the contents of the left frame, first tries update callback, other wise will clear and redraw
- - - - Parameters: - -Updates the frame for all players, see update
- - - - Parameters: - -Redraws the frame by calling on_draw, will always clear the frame
- - - - Parameters: - -Redraws the frame for all players, see redraw
- - - - Parameters: - -Creates an event handler that will trigger one of its functions, use with Event.add
- - - - Parameters: - --- Adding the example button
+example_flow_with_button:add_to_left_flow(true)
- Gets the left flow that contains the popup frames
- - - - Parameters: - -Opens a popup for the player, can give the amount of time it is open as well as params for the draw function
- - - - Parameters: - -Progress bar which when depleted will close the popup frame
- - - - - - - - - - - - - - - - -A button which can be used to close the gui before the timer runs out
- - - - - - - - - - - - - - - - -Creates a new popup frame define
- - - - Parameters: - -Sets the default open time for the popup, will be used if non is provided with open
- - - - Parameters: - -Opens this define for a player, can be given open time and any other params for the draw function
- - - - Parameters: - -Adds a new button to the toolbar
- - - - Parameters: - -Adds an existing buttton to the toolbar
- - - - Parameters: - -Updates the player's toolbar with an new buttons or expected change in auth return
- - - - Parameters: - -Used to create new element defines from a class prototype, please use the own given by the class
- - - - Parameters: - -Gets an element define give the uid, debug name or a copy of the element define
- - - - Parameters: - -A categorize function to be used with add_store, each player has their own value
- - - - Parameters: - -A categorize function to be used with add_store, each force has its own value
- - - - Parameters: - -A categorize function to be used with add_store, each surface has its own value
- - - - Parameters: - -Draws a copy of the element define to the parent element, see draw_to
- - - - Parameters: - -Will toggle the enabled state of an element
- - - - Parameters: - -Will toggle the visiblity of an element
- - - - Parameters: - -Sets the padding for a gui element
- - - - Parameters: - -Sets the padding for a gui style
- - - - Parameters: - -Allows the creation of an alignment flow to place elements into
- - - - Parameters: - -Destroies an element but tests for it being present and valid first
- - - - Parameters: - -Creates a scroll area with a table inside, table can be any size
- - - - Parameters: - -Creates a header section with a label and button area
- - - - Parameters: - -Creates a new button element define
- - - - Parameters: - -Adds sprites to a button making it a sprite button
- - - - Parameters: - -Adds a click / mouse button filter to the button
- - - - Parameters: - -Adds a control key filter to the button
- - - - Parameters: - -Creates a new checkbox element define
- - - - Parameters: - -Creates a new radiobutton element define, has all functions checkbox has
- - - - Parameters: - -Adds this radiobutton to be an option in the given option set (only one can be true at a time)
- - - - Parameters: - -Gets the stored value of the radiobutton or the option set if present
- - - - Parameters: - -Sets the stored value of the radiobutton or the option set if present
- - - - Parameters: - -Registers a new option set that can be linked to radiobuttons (only one can be true at a time)
- - - - Parameters: - -Draws all radiobuttons that are part of an option set at once (Gui.draw will not work)
- - - - Parameters: - -Sets all radiobutton in a element to false (unless excluded) and can act recursively
- - - - Parameters: - -Creates a new dropdown element define
- - - - Parameters: - -Creates a new list box element define
- - - - Parameters: - -Adds new static options to the dropdown which will trigger the general callback
- - - - Parameters: - -Adds a callback which should return a table of values to be added as options for the dropdown (appended after static options)
- - - - Parameters: - -