mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-27 11:35:22 +09:00
Added Build In Test Gui
This commit is contained in:
@@ -38,11 +38,14 @@ end
|
||||
-- @param root the element you want to add the input to
|
||||
-- @return returns the element that was added
|
||||
function inputs._input:draw(root)
|
||||
if is_type(self.draw_data.caption,'string') and game.player.gui.is_valid_sprite_path(self.draw_data.caption) then
|
||||
local player = Game.get_player(root.player_index)
|
||||
if is_type(self.draw_data.caption,'string') and player.gui.is_valid_sprite_path(self.draw_data.caption) then
|
||||
local data = table.deepcopy(self.draw_data)
|
||||
data.type = 'sprite-button'
|
||||
data.sprite = data.caption
|
||||
data.caption = nil
|
||||
return root.add(data)
|
||||
elseif is_type(self.draw_data.sprite,'string') and game.player.gui.is_valid_sprite_path(self.draw_data.sprite) then
|
||||
elseif is_type(self.draw_data.sprite,'string') and player.gui.is_valid_sprite_path(self.draw_data.sprite) then
|
||||
local data = table.deepcopy(self.draw_data)
|
||||
data.type = 'sprite-button'
|
||||
return root.add(data)
|
||||
@@ -261,47 +264,5 @@ function inputs.add_text(name,box,text,callback)
|
||||
end
|
||||
|
||||
return inputs
|
||||
--[[
|
||||
|
||||
Input Example
|
||||
|
||||
-- Basic Button Using Gui.inputs.add
|
||||
local test = Gui.inputs.add{
|
||||
name='test-button',
|
||||
type='button',
|
||||
caption='Test'
|
||||
}
|
||||
test:on_event(Gui.inputs.events.click,function(event) game.print('test') end)
|
||||
|
||||
-- then later in code
|
||||
local frame = player.gui.top.add{name='test',type='frame'}
|
||||
test:draw(frame)
|
||||
|
||||
-- Mutly Function Button Using Gui.inputs.add_button
|
||||
Gui.inputs.add_button('test-inputs','Try RMB','alt,ctrl,shift and mouse buttons',{
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.left and keys.alt end,
|
||||
function(player,element) player_return('Left: Alt',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.left and keys.ctrl end,
|
||||
function(player,element) player_return('Left: Ctrl',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.left and keys.shift end,
|
||||
function(player,element) player_return('Left: Shift',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.right and keys.alt end,
|
||||
function(player,element) player_return('Right: Alt',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.right and keys.ctrl end,
|
||||
function(player,element) player_return('Right: Ctrl',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.right and keys.shift end,
|
||||
function(player,element) player_return('Right: Shift',nil,player) end
|
||||
}
|
||||
}):on_event('error',function(err) game.print('this is error handliling') end)
|
||||
]]
|
||||
-- to see examples look at GuiParts/test.lua
|
||||
|
||||
105
ExpCore/GuiParts/test.lua
Normal file
105
ExpCore/GuiParts/test.lua
Normal file
@@ -0,0 +1,105 @@
|
||||
-- this is just testing all the diffrent inputs to open test use /c Gui.test()
|
||||
|
||||
local gui_tset_close = Gui.inputs.add{
|
||||
name='gui-test-close',
|
||||
type='button',
|
||||
caption='Close Test Gui'
|
||||
}:on_event('click',function(event) event.element.parent.destroy() end)
|
||||
|
||||
local caption_test = Gui.inputs.add{
|
||||
name='text-button',
|
||||
type='button',
|
||||
caption='Test'
|
||||
}:on_event('click',function(event) game.print('test') end)
|
||||
|
||||
local sprite_test = Gui.inputs.add{
|
||||
name='sprite-button',
|
||||
type='button',
|
||||
sprite='item/lab'
|
||||
}:on_event('click',function(event) game.print('test') end)
|
||||
|
||||
local input_test = Gui.inputs.add_button('test-inputs','Try RMB','alt,ctrl,shift and mouse buttons',{
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.left and keys.alt end,
|
||||
function(player,element) player_return('Left: Alt',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.left and keys.ctrl end,
|
||||
function(player,element) player_return('Left: Ctrl',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.left and keys.shift end,
|
||||
function(player,element) player_return('Left: Shift',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.right and keys.alt end,
|
||||
function(player,element) player_return('Right: Alt',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.right and keys.ctrl end,
|
||||
function(player,element) player_return('Right: Ctrl',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.right and keys.shift end,
|
||||
function(player,element) player_return('Right: Shift',nil,player) end
|
||||
}
|
||||
}):on_event('error',function(err) game.print('this is error handliling') end)
|
||||
|
||||
local elem_test = Gui.inputs.add_elem_button('test-elem','item','Testing Elems',function(player,element,elem)
|
||||
player_return(elem.type..' '..elem.value,nil,player)
|
||||
end)
|
||||
|
||||
local check_test = Gui.inputs.add_checkbox('test-check',false,'Cheat Mode',function(parent)
|
||||
return game.players[parent.player_index].cheat_mode
|
||||
end,function(player,element)
|
||||
player.cheat_mode = true
|
||||
end,function(player,element)
|
||||
player.cheat_mode = false
|
||||
end)
|
||||
|
||||
local radio_test = Gui.inputs.add_checkbox('test-radio',true,'Kill Self',function(parent)
|
||||
return game.players[parent.player_index].in_combat
|
||||
end,function(player,element)
|
||||
if player.character then player.character.die() end
|
||||
Gui.inputs.reset_radio(element.parent['test-radio-reset'])
|
||||
end)
|
||||
|
||||
local radio_test_reset = Gui.inputs.add_checkbox('test-radio-reset',true,'Reset Kill Self',function(parent)
|
||||
return false
|
||||
end,function(player,element)
|
||||
Gui.inputs.reset_radio(element.parent['test-radio'])
|
||||
end)
|
||||
|
||||
local text_test = Gui.inputs.add_text('test-text',false,'default text',function(player,text,element)
|
||||
player_return(text,nil,player)
|
||||
end)
|
||||
|
||||
local box_test = Gui.inputs.add_text('test-box',true,'default text but a box',function(player,text,element)
|
||||
player_return(text,nil,player)
|
||||
end)
|
||||
|
||||
local function test_gui(event)
|
||||
if not game.player and not event.player_index then return end
|
||||
local player = game.player or Game.get_player(event)
|
||||
if player.gui.top['gui-test'] then player.gui.top['gui-test'].destroy() end
|
||||
local frame = player.gui.top.add{type='frame',name='gui-test'}
|
||||
gui_tset_close:draw(frame)
|
||||
caption_test:draw(frame)
|
||||
sprite_test:draw(frame)
|
||||
input_test:draw(frame)
|
||||
elem_test:draw(frame)
|
||||
check_test:draw(frame)
|
||||
radio_test:draw(frame)
|
||||
radio_test_reset:draw(frame)
|
||||
text_test:draw(frame)
|
||||
box_test:draw(frame)
|
||||
end
|
||||
|
||||
Gui.toolbar.add('open-gui-test','Open Test Gui','Opens the test gui with every input',test_gui)
|
||||
|
||||
return test_gui
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -30,7 +30,8 @@ function toolbar.draw(player)
|
||||
local player = Game.get_player(player)
|
||||
if not player then return end
|
||||
local toolbar_frame = mod_gui.get_button_flow(player)
|
||||
toolbar_frame.clear()
|
||||
toolbar_frame.clear()
|
||||
if not Gui._get_data('toolbar') then return end
|
||||
for name,button in pairs(Gui._get_data('toolbar')) do
|
||||
if is_type(Ranking,'table') and Ranking._presets and Ranking._presets().meta.rank_count > 0 then
|
||||
local rank = Ranking.get_rank(player)
|
||||
|
||||
74
control.lua
74
control.lua
@@ -34,79 +34,11 @@ _G.discord_emit = nil -- un-comment this line if you are not using the json.data
|
||||
|
||||
-- loads the ExpCore files these are need in order to run the other addons
|
||||
Ranking, Server, Gui = require('/ExpCore/load'){'Ranking','Server','Gui'}
|
||||
local success,err = pcall(require,'/ExpCore/GuiParts/test')
|
||||
if success then Gui.test = err end
|
||||
-- this loads the ranks that Ranking uses
|
||||
require('/ExpCore/ranks')
|
||||
-- this loads any edits that are not need in core pcall as file may not be preset
|
||||
pcall(require,'/Addons/playerRanks')
|
||||
-- this makes sure that all the little details are cleaned up
|
||||
Ranking._auto_edit_ranks()
|
||||
|
||||
-- button testing - there are global for a reason
|
||||
text = Gui.inputs.add{
|
||||
name='text-button',
|
||||
type='button',
|
||||
caption='Test'
|
||||
}:on_event(Gui.inputs.events.click,function(event) game.print('test') end)
|
||||
|
||||
sprite = Gui.inputs.add{
|
||||
name='sprite-button',
|
||||
type='button',
|
||||
caption='item/lab'
|
||||
}:on_event(Gui.inputs.events.click,function(event) game.print('test') end)
|
||||
|
||||
Gui.toolbar.add('button1','btn1','test btn1',function(event) game.print('test') end)
|
||||
Gui.toolbar.add('button2','btn2','test btn2',function(event) game.print('test') end)
|
||||
Gui.toolbar.add('button3','item/lab','test btn3',function(event) game.print('test') end)
|
||||
|
||||
input_test = Gui.inputs.add_button('test-inputs','Try RMB','alt,ctrl,shift and mouse buttons',{
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.left and keys.alt end,
|
||||
function(player,element) player_return('Left: Alt',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.left and keys.ctrl end,
|
||||
function(player,element) player_return('Left: Ctrl',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.left and keys.shift end,
|
||||
function(player,element) player_return('Left: Shift',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.right and keys.alt end,
|
||||
function(player,element) player_return('Right: Alt',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.right and keys.ctrl end,
|
||||
function(player,element) player_return('Right: Ctrl',nil,player) end
|
||||
},
|
||||
{
|
||||
function(player,mouse,keys) return mouse == defines.mouse_button_type.right and keys.shift end,
|
||||
function(player,element) player_return('Right: Shift',nil,player) end
|
||||
}
|
||||
}):on_event('error',function(err) game.print('this is error handliling') end)
|
||||
|
||||
elem_test = Gui.inputs.add_elem_button('test-elem','item','Testing Elems',function(player,element,elem)
|
||||
player_return(elem.type..' '..elem.value,nil,player)
|
||||
end)
|
||||
|
||||
check_test = Gui.inputs.add_checkbox('test-check',false,'Cheat Mode',function(parent)
|
||||
return game.players[parent.player_index].cheat_mode
|
||||
end,function(player,element)
|
||||
player.cheat_mode = true
|
||||
end,function(player,element)
|
||||
player.cheat_mode = false
|
||||
end)
|
||||
|
||||
radio_test = Gui.inputs.add_checkbox('test-radio',true,'Kill Self',function(parent)
|
||||
return game.players[parent.player_index].in_combat
|
||||
end,function(player,element)
|
||||
if player.character then player.character.die() end
|
||||
end)
|
||||
|
||||
text_test = Gui.inputs.add_text('test-text',false,'default text',function(player,text,element)
|
||||
player_return(text,nil,player)
|
||||
end)
|
||||
|
||||
box_test = Gui.inputs.add_text('test-box',true,'default text but a box',function(player,text,element)
|
||||
player_return(text,nil,player)
|
||||
end)
|
||||
Ranking._auto_edit_ranks()
|
||||
Reference in New Issue
Block a user