2011-11-03 13:17:10 +01:00
|
|
|
VipList = {}
|
2011-09-02 06:29:00 +02:00
|
|
|
|
2011-11-03 13:17:10 +01:00
|
|
|
-- private variables
|
|
|
|
local vipWindow = nil
|
|
|
|
|
|
|
|
-- public functions
|
|
|
|
function VipList.create()
|
2011-11-17 21:40:31 +01:00
|
|
|
vipWindow = UI.display('viplist.otui', { parent = Game.gameRightPanel })
|
2011-11-03 13:17:10 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
function VipList.destroy()
|
|
|
|
vipWindow:destroy()
|
|
|
|
vipWindow = nil
|
2011-09-02 06:29:00 +02:00
|
|
|
end
|
|
|
|
|
2011-11-03 13:17:10 +01:00
|
|
|
-- hooked events
|
2011-09-02 06:29:00 +02:00
|
|
|
function Game.onAddVip(id, name, online)
|
|
|
|
local vipList = vipWindow:getChildById('vipList')
|
2011-11-03 10:59:11 +01:00
|
|
|
|
2011-09-02 06:29:00 +02:00
|
|
|
local label = UILabel.create()
|
|
|
|
vipList:addChild(label)
|
|
|
|
label:setId('vip' .. id)
|
|
|
|
label:setText(name)
|
2011-09-03 00:52:40 +02:00
|
|
|
label:setStyle('VipListLabel')
|
2011-11-03 10:59:11 +01:00
|
|
|
|
2011-09-02 06:29:00 +02:00
|
|
|
if online then
|
|
|
|
label:setForegroundColor('#00ff00')
|
|
|
|
else
|
|
|
|
label:setForegroundColor('#ff0000')
|
|
|
|
end
|
2011-11-03 10:59:11 +01:00
|
|
|
|
2011-09-02 06:29:00 +02:00
|
|
|
label.vipOnline = online
|
|
|
|
end
|
|
|
|
|
|
|
|
function Game.onVipStateChange(id, online)
|
|
|
|
local vipList = vipWindow:getChildById('vipList')
|
|
|
|
local label = vipList:getChildById('vip' .. id)
|
2011-11-03 10:59:11 +01:00
|
|
|
|
2011-09-02 06:29:00 +02:00
|
|
|
if online then
|
|
|
|
label:setForegroundColor('#00ff00')
|
|
|
|
else
|
|
|
|
label:setForegroundColor('#ff0000')
|
|
|
|
end
|
2011-11-03 10:59:11 +01:00
|
|
|
|
2011-09-02 06:29:00 +02:00
|
|
|
label.vipOnline = online
|
|
|
|
end
|
2011-11-03 21:54:53 +01:00
|
|
|
|
|
|
|
connect(Game, { onLogin = VipList.create,
|
|
|
|
onLogout = VipList.destroy })
|