Added auto open for warp gui

This commit is contained in:
Cooldude2606
2019-06-08 15:45:40 +01:00
parent b93d4debfd
commit dbe40d51e2
3 changed files with 51 additions and 27 deletions

View File

@@ -213,12 +213,13 @@ Gui.classes.left_frames = LeftFrames
LeftFrames._prototype:on_draw(player,frame) --- Use to draw your elements to the new frame
LeftFrames._prototype:on_update(player,frame) --- Use to edit your frame when there is no need to redraw it
LeftFrames._prototype:on_player_toggle(player,frame) --- Triggered when the player toggle the left frame
LeftFrames._prototype:event_handler(action) --- Creates an event handler that will trigger one of its functions, use with Event.add
]]
local CenterFrames = require 'expcore.gui.center'
Gui.get_center_flow = CenterFrames.get_flow
Gui.toggle_left_frame = CenterFrames.toggle_frame
Gui.toggle_center_frame = CenterFrames.toggle_frame
Gui.draw_center_frame = CenterFrames.draw_frame
Gui.redraw_center_frame = CenterFrames.redraw_frames
Gui.new_center_frame = CenterFrames.new_frame

View File

@@ -45,6 +45,7 @@
LeftFrames._prototype:on_draw(player,frame) --- Use to draw your elements to the new frame
LeftFrames._prototype:on_update(player,frame) --- Use to edit your frame when there is no need to redraw it
LeftFrames._prototype:on_player_toggle(player,frame) --- Is triggered when the player presses the toggle button
LeftFrames._prototype:event_handler(action) --- Creates an event handler that will trigger one of its functions, use with Event.add
]]
local Gui = require 'expcore.gui.core'
@@ -58,7 +59,8 @@ local LeftFrames = {
frames={},
_prototype=Gui._prototype_factory{
on_draw = Gui._event_factory('on_draw'),
on_update = Gui._event_factory('on_update')
on_update = Gui._event_factory('on_update'),
on_player_toggle = Gui._event_factory('on_player_toggle')
}
}
setmetatable(LeftFrames._prototype, {
@@ -138,7 +140,12 @@ function LeftFrames.new_frame(permision_name)
mt.__call = self.event_handler
self:on_click(function(player,_element)
self:toggle(player)
local visible = self:toggle(player)
if self.events.on_player_toggle then
local frame = self:get_frame(player)
self.events.on_player_toggle(player,frame,visible)
end
end)
LeftFrames.frames[self.name] = self
@@ -258,6 +265,10 @@ Buttons.new_button()
for _,define in pairs(LeftFrames.frames) do
local frame = LeftFrames.get_frame(define.name,player)
frame.visible = false
if define.events.on_player_toggle then
define.events.on_player_toggle(player,frame,false)
end
end
element.visible = false
end)