mirror of
https://github.com/edubart/otclient.git
synced 2025-10-13 19:14:56 +02:00
reorganize modules
This commit is contained in:
49
modules/game_viplist/viplist.lua
Normal file
49
modules/game_viplist/viplist.lua
Normal file
@@ -0,0 +1,49 @@
|
||||
VipList = {}
|
||||
|
||||
-- private variables
|
||||
local vipWindow = nil
|
||||
|
||||
-- public functions
|
||||
function VipList.create()
|
||||
vipWindow = UI.display('viplist.otui', { parent = Game.gameRightPanel })
|
||||
end
|
||||
|
||||
function VipList.destroy()
|
||||
vipWindow:destroy()
|
||||
vipWindow = nil
|
||||
end
|
||||
|
||||
-- hooked events
|
||||
function Game.onAddVip(id, name, online)
|
||||
local vipList = vipWindow:getChildById('vipList')
|
||||
|
||||
local label = UILabel.create()
|
||||
vipList:addChild(label)
|
||||
label:setId('vip' .. id)
|
||||
label:setText(name)
|
||||
label:setStyle('VipListLabel')
|
||||
|
||||
if online then
|
||||
label:setForegroundColor('#00ff00')
|
||||
else
|
||||
label:setForegroundColor('#ff0000')
|
||||
end
|
||||
|
||||
label.vipOnline = online
|
||||
end
|
||||
|
||||
function Game.onVipStateChange(id, online)
|
||||
local vipList = vipWindow:getChildById('vipList')
|
||||
local label = vipList:getChildById('vip' .. id)
|
||||
|
||||
if online then
|
||||
label:setForegroundColor('#00ff00')
|
||||
else
|
||||
label:setForegroundColor('#ff0000')
|
||||
end
|
||||
|
||||
label.vipOnline = online
|
||||
end
|
||||
|
||||
connect(Game, { onLogin = VipList.create,
|
||||
onLogout = VipList.destroy })
|
10
modules/game_viplist/viplist.otmod
Normal file
10
modules/game_viplist/viplist.otmod
Normal file
@@ -0,0 +1,10 @@
|
||||
Module
|
||||
name: game_viplist
|
||||
description: Manage vip list window
|
||||
author: OTClient team
|
||||
website: https://github.com/edubart/otclient
|
||||
onLoad: |
|
||||
require 'viplist'
|
||||
return true
|
||||
|
||||
|
18
modules/game_viplist/viplist.otui
Normal file
18
modules/game_viplist/viplist.otui
Normal file
@@ -0,0 +1,18 @@
|
||||
VipListLabel < Label
|
||||
font: verdana-11px-monochrome
|
||||
margin-left: 5
|
||||
|
||||
$disabled: ~
|
||||
|
||||
MiniWindow
|
||||
id: vipWindow
|
||||
title: VIP List
|
||||
|
||||
TextList
|
||||
id: vipList
|
||||
border-image: ~
|
||||
anchors.fill: parent
|
||||
margin-top: 26
|
||||
margin-bottom: 6
|
||||
margin-left: 6
|
||||
margin-right: 6
|
Reference in New Issue
Block a user