mirror of
https://github.com/edubart/otclient.git
synced 2025-10-17 04:53:27 +02:00
viplist improvements
This commit is contained in:
@@ -2,6 +2,7 @@ VipList = {}
|
||||
|
||||
-- private variables
|
||||
local vipWindow = nil
|
||||
local addVipWindow = nil
|
||||
|
||||
-- public functions
|
||||
function VipList.create()
|
||||
@@ -13,6 +14,20 @@ function VipList.destroy()
|
||||
vipWindow = nil
|
||||
end
|
||||
|
||||
function VipList.createAddWindow()
|
||||
addVipWindow = displayUI('addvip.otui')
|
||||
end
|
||||
|
||||
function VipList.destroyAddWindow()
|
||||
addVipWindow:destroy()
|
||||
addVipWindow = nil
|
||||
end
|
||||
|
||||
function VipList.addVip()
|
||||
Game.addVip(addVipWindow:getChildById('name'):getText())
|
||||
VipList.destroyAddWindow()
|
||||
end
|
||||
|
||||
-- hooked events
|
||||
function Game.onAddVip(id, name, online)
|
||||
local vipList = vipWindow:getChildById('vipList')
|
||||
@@ -43,14 +58,31 @@ function Game.onVipStateChange(id, online)
|
||||
label.vipOnline = online
|
||||
end
|
||||
|
||||
function VipList.onVipListMousePress(widget, mousePos, mouseButton)
|
||||
if mouseButton ~= MouseRightButton then return end
|
||||
|
||||
local vipList = vipWindow:getChildById('vipList')
|
||||
|
||||
local menu = createWidget('PopupMenu')
|
||||
menu:addOption('Add new VIP', function() VipList.createAddWindow() end)
|
||||
menu:display(mousePos)
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
function VipList.onVipListLabelMousePress(widget, mousePos, mouseButton)
|
||||
if mouseButton ~= MouseRightButton then return end
|
||||
|
||||
local vipList = vipWindow:getChildById('vipList')
|
||||
|
||||
local menu = createWidget('PopupMenu')
|
||||
menu:addOption('Remove from VIP list', function() if widget then Game.removeVip(widget:getId():sub(4)) vipList:removeChild(widget) end end)
|
||||
menu:addOption('Add new VIP', function() VipList.createAddWindow() end)
|
||||
menu:addOption('Remove ' .. widget:getText(), function() if widget then Game.removeVip(widget:getId():sub(4)) vipList:removeChild(widget) end end)
|
||||
menu:addSeparator()
|
||||
menu:addOption('Copy Name', function() end)
|
||||
menu:display(mousePos)
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user