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
function init()
@ -7,10 +9,16 @@ function init()
onSpellGroupCooldown = onSpellGroupCooldown,
onSpellCooldown = onSpellCooldown })
cooldownPanel = g_ui.displayUI('cooldown.otui')
cooldownPanel:hide()
cooldownButton = TopMenu.addRightGameToggleButton('cooldownButton', tr('Cooldowns'), 'cooldown.png', toggle)
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
show()
@ -23,18 +31,34 @@ function terminate()
onSpellGroupCooldown = onSpellGroupCooldown,
onSpellCooldown = onSpellCooldown })
spellCooldownPanel:destroy()
cooldownPanel:destroy()
cooldownButton: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
function show()
if g_game.getFeature(GameSpellList) then
cooldownPanel:show()
cooldownWindow:show()
cooldownButton:show()
end
end
function hide()
cooldownPanel:hide()
cooldownWindow:hide()
cooldownButton:hide()
end
function updateProgressRect(progressRect, interval, init)
@ -61,7 +85,7 @@ function onSpellCooldown(iconId, duration)
if not otcIconId then return end
local icon = cooldownPanel:getChildById(spellName)
local icon = spellCooldownPanel:getChildById(spellName)
if not icon then
icon = g_ui.createWidget('SpellIcon', spellCooldownPanel)
icon:setId(spellName)
@ -78,8 +102,8 @@ end
function onSpellGroupCooldown(groupId, duration)
if not SpellGroups[groupId] then return end
local icon = cooldownPanel:getChildById('groupIcon' .. SpellGroups[groupId])
local progressRect = cooldownPanel:getChildById('progressRect' .. SpellGroups[groupId])
local icon = contentsPanel:getChildById('groupIcon' .. SpellGroups[groupId])
local progressRect = contentsPanel:getChildById('progressRect' .. SpellGroups[groupId])
if icon then
icon:setOn(true)
removeEvent(icon.event)

View File

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