Converted cooldownbar to miniwindow

This commit is contained in:
Samuel 2012-10-13 21:33:04 +02:00
parent 053d29a64b
commit 7f864003d8
5 changed files with 106 additions and 84 deletions

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,6 @@
cooldownPanel = nil cooldownWindow = nil
cooldownButton = nil
contentsPanel = nil
spellCooldownPanel = nil spellCooldownPanel = nil
function init() function init()
@ -7,10 +9,16 @@ function init()
onSpellGroupCooldown = onSpellGroupCooldown, onSpellGroupCooldown = onSpellGroupCooldown,
onSpellCooldown = onSpellCooldown }) onSpellCooldown = onSpellCooldown })
cooldownPanel = g_ui.displayUI('cooldown.otui') cooldownButton = TopMenu.addRightGameToggleButton('cooldownButton', tr('Cooldowns'), 'cooldown.png', toggle)
cooldownPanel:hide() cooldownButton:setOn(true)
cooldownButton:hide()
spellCooldownPanel = cooldownPanel:getChildById('spellCooldownPanel') cooldownWindow = g_ui.loadUI('cooldown.otui', modules.game_interface.getRightPanel())
cooldownWindow:disableResize()
cooldownWindow:setup()
contentsPanel = cooldownWindow:getChildById('contentsPanel')
spellCooldownPanel = contentsPanel:getChildById('spellCooldownPanel')
if g_game.isOnline() then if g_game.isOnline() then
show() show()
@ -23,18 +31,34 @@ function terminate()
onSpellGroupCooldown = onSpellGroupCooldown, onSpellGroupCooldown = onSpellGroupCooldown,
onSpellCooldown = onSpellCooldown }) onSpellCooldown = onSpellCooldown })
spellCooldownPanel:destroy() cooldownButton:destroy()
cooldownPanel:destroy() cooldownWindow:destroy()
end
function onMiniWindowClose()
cooldownButton:setOn(false)
end
function toggle()
if cooldownButton:isOn() then
cooldownWindow:close()
cooldownButton:setOn(false)
else
cooldownWindow:open()
cooldownButton:setOn(true)
end
end end
function show() function show()
if g_game.getFeature(GameSpellList) then if g_game.getFeature(GameSpellList) then
cooldownPanel:show() cooldownWindow:show()
cooldownButton:show()
end end
end end
function hide() function hide()
cooldownPanel:hide() cooldownWindow:hide()
cooldownButton:hide()
end end
function updateProgressRect(progressRect, interval, init) function updateProgressRect(progressRect, interval, init)
@ -61,7 +85,7 @@ function onSpellCooldown(iconId, duration)
if not otcIconId then return end if not otcIconId then return end
local icon = cooldownPanel:getChildById(spellName) local icon = spellCooldownPanel:getChildById(spellName)
if not icon then if not icon then
icon = g_ui.createWidget('SpellIcon', spellCooldownPanel) icon = g_ui.createWidget('SpellIcon', spellCooldownPanel)
icon:setId(spellName) icon:setId(spellName)
@ -78,8 +102,8 @@ end
function onSpellGroupCooldown(groupId, duration) function onSpellGroupCooldown(groupId, duration)
if not SpellGroups[groupId] then return end if not SpellGroups[groupId] then return end
local icon = cooldownPanel:getChildById('groupIcon' .. SpellGroups[groupId]) local icon = contentsPanel:getChildById('groupIcon' .. SpellGroups[groupId])
local progressRect = cooldownPanel:getChildById('progressRect' .. SpellGroups[groupId]) local progressRect = contentsPanel:getChildById('progressRect' .. SpellGroups[groupId])
if icon then if icon then
icon:setOn(true) icon:setOn(true)
removeEvent(icon.event) removeEvent(icon.event)

View File

@ -3,6 +3,7 @@ SpellGroupIcon < UIWidget
image-size: 22 22 image-size: 22 22
image-source: /game_cooldown/icons/cooldownIcons.png image-source: /game_cooldown/icons/cooldownIcons.png
focusable: false focusable: false
margin-top: 3
SpellIcon < UIWidget SpellIcon < UIWidget
size: 22 22 size: 22 22
@ -18,87 +19,84 @@ SpellIcon < UIWidget
anchors.left: parent.left anchors.left: parent.left
SpellProgressRect < UIProgressRect SpellProgressRect < UIProgressRect
anchors.fill: parent
background: #585858AA background: #585858AA
percent: 100 percent: 100
focusable: false focusable: false
Panel MiniWindow
id: spellPanel id: cooldownWindow
layout: !text: tr('Spell Cooldowns')
type: anchor height: 85
height: 28 icon: cooldown.png
width: 250 @onClose: modules.game_cooldown.onMiniWindowClose()
anchors.top: parent.top &save: true
anchors.left: parent.left
margin-top: 70
margin-left: 10
border-width: 1
border-color: #00000077
background-color: #ffffff11
focusable: false
SpellGroupIcon MiniWindowContents
id: groupIconAttack SpellGroupIcon
image-clip: 0 0 20 20 id: groupIconAttack
anchors.top: parent.top image-clip: 0 0 20 20
anchors.left: parent.left anchors.top: parent.top
margin-top: 3 anchors.left: parent.left
margin-left: 3 margin-left: 3
$on: $on:
image-clip: 0 20 20 20 image-clip: 0 20 20 20
SpellProgressRect SpellProgressRect
id: progressRectAttack id: progressRectAttack
anchors.fill: groupIconAttack anchors.fill: groupIconAttack
!tooltip: tr('Attack') !tooltip: tr('Attack')
SpellGroupIcon SpellGroupIcon
id: groupIconHealing id: groupIconHealing
image-clip: 20 0 20 20 image-clip: 20 0 20 20
anchors.top: parent.top anchors.top: parent.top
anchors.left: groupIconAttack.right anchors.left: groupIconAttack.right
margin-top: 3 margin-left: 3
margin-left: 3 $on:
$on: image-clip: 20 20 20 20
image-clip: 20 20 20 20
SpellProgressRect SpellProgressRect
id: progressRectHealing id: progressRectHealing
anchors.fill: groupIconHealing anchors.fill: groupIconHealing
!tooltip: tr('Healing') !tooltip: tr('Healing')
SpellGroupIcon SpellGroupIcon
id: groupIconSupport id: groupIconSupport
image-clip: 40 0 20 20 image-clip: 40 0 20 20
anchors.top: parent.top anchors.top: parent.top
anchors.left: groupIconHealing.right anchors.left: groupIconHealing.right
margin-top: 3 margin-left: 3
margin-left: 3 $on:
$on: image-clip: 40 20 20 20
image-clip: 40 20 20 20
SpellProgressRect SpellProgressRect
id: progressRectSupport id: progressRectSupport
anchors.fill: groupIconSupport anchors.fill: groupIconSupport
!tooltip: tr('Support') !tooltip: tr('Support')
SpellGroupIcon SpellGroupIcon
id: groupIconSpecial id: groupIconSpecial
image-clip: 60 0 20 20 image-clip: 60 0 20 20
anchors.top: parent.top anchors.top: parent.top
anchors.left: groupIconSupport.right anchors.left: groupIconSupport.right
margin-top: 3 margin-left: 3
margin-left: 3 $on:
$on: image-clip: 60 20 20 20
image-clip: 60 20 20 20
SpellProgressRect SpellProgressRect
id: progressRectSpecial id: progressRectSpecial
anchors.fill: groupIconSpecial anchors.fill: groupIconSpecial
!tooltip: tr('Special') !tooltip: tr('Special')
Panel
id: spellCooldownPanel
margin-top: 5
anchors.top: groupIconSpecial.bottom
anchors.left: parent.left
anchors.right: parent.right
height: 30
padding: 1
margin-left: 2
margin-right: 2
border: 1 #444444
Panel
id: spellCooldownPanel
anchors.fill: parent
margin-left: 102

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 B