improving battle window and fixes
This commit is contained in:
parent
c707f990bf
commit
d0a5f27fcf
|
@ -27,12 +27,8 @@ local function onUseWithMouseRelease(self, mousePosition, mouseButton)
|
||||||
end
|
end
|
||||||
elseif clickedWidget:getClassName() == 'UIItem' and not clickedWidget:isVirtual() then
|
elseif clickedWidget:getClassName() == 'UIItem' and not clickedWidget:isVirtual() then
|
||||||
g_game.useWith(g_game.selectedThing, clickedWidget:getItem())
|
g_game.useWith(g_game.selectedThing, clickedWidget:getItem())
|
||||||
elseif clickedWidget.isBattleButton or clickedWidget.battleButtonChild then
|
elseif clickedWidget.isBattleButton then
|
||||||
local battleButton = clickedWidget
|
g_game.useWith(g_game.selectedThing, clickedWidget.creature)
|
||||||
if clickedWidget.battleButtonChild then
|
|
||||||
battleButton = clickedWidget:getParent()
|
|
||||||
end
|
|
||||||
g_game.useWith(g_game.selectedThing, battleButton.creature)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -52,9 +52,6 @@ function Battle.create()
|
||||||
mouseWidget = createWidget('UIButton')
|
mouseWidget = createWidget('UIButton')
|
||||||
mouseWidget:setVisible(false)
|
mouseWidget:setVisible(false)
|
||||||
mouseWidget:setFocusable(false)
|
mouseWidget:setFocusable(false)
|
||||||
|
|
||||||
connect(UIWidget, { onHoverChange = Battle.onbattlePannelHoverChange,
|
|
||||||
onMouseRelease = Battle.onMouseRelease } )
|
|
||||||
|
|
||||||
connect(Creature, { onSkullChange = Battle.checkCreatureSkull,
|
connect(Creature, { onSkullChange = Battle.checkCreatureSkull,
|
||||||
onEmblemChange = Battle.checkCreatureEmblem } )
|
onEmblemChange = Battle.checkCreatureEmblem } )
|
||||||
|
@ -83,9 +80,6 @@ function Battle.destroy()
|
||||||
battleButton = nil
|
battleButton = nil
|
||||||
battleWindow:destroy()
|
battleWindow:destroy()
|
||||||
battleWindow = nil
|
battleWindow = nil
|
||||||
|
|
||||||
disconnect(UIWidget, { onHoverChange = Battle.onbattlePannelHoverChange,
|
|
||||||
onMouseRelease = Battle.onMouseRelease } )
|
|
||||||
|
|
||||||
disconnect(Creature, { onSkullChange = Battle.checkCreatureSkull,
|
disconnect(Creature, { onSkullChange = Battle.checkCreatureSkull,
|
||||||
onEmblemChange = Battle.checkCreatureEmblem } )
|
onEmblemChange = Battle.checkCreatureEmblem } )
|
||||||
|
@ -252,13 +246,20 @@ end
|
||||||
|
|
||||||
function Battle.onMouseRelease(self, mousePosition, mouseButton)
|
function Battle.onMouseRelease(self, mousePosition, mouseButton)
|
||||||
if mouseButton == MouseRightButton then
|
if mouseButton == MouseRightButton then
|
||||||
local clickedWidget = g_game.gameUi:recursiveGetChildByPos(mousePosition)
|
g_game.createThingMenu(mousePosition, nil, nil, self.creature)
|
||||||
if clickedWidget then
|
return true
|
||||||
if clickedWidget:getStyleName() == 'BattleButton' then
|
elseif mouseButton == MouseLeftButton then
|
||||||
g_game.createThingMenu(mousePosition, nil, nil, clickedWidget.creature)
|
local modifiers = g_window.getKeyboardModifiers()
|
||||||
return true
|
if modifiers == KeyboardShiftModifier then
|
||||||
|
g_game.look(self.creature)
|
||||||
|
else
|
||||||
|
if self.isTarget then
|
||||||
|
g_game.cancelAttack()
|
||||||
|
else
|
||||||
|
g_game.attack(self.creature)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -270,6 +271,7 @@ function Battle.removeCreature(creature)
|
||||||
lastBattleButtonSwitched = nil
|
lastBattleButtonSwitched = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
battleButtonsByCreaturesList[creatureId].creature:hideStaticSquare()
|
||||||
battleButtonsByCreaturesList[creatureId]:destroy()
|
battleButtonsByCreaturesList[creatureId]:destroy()
|
||||||
battleButtonsByCreaturesList[creatureId] = nil
|
battleButtonsByCreaturesList[creatureId] = nil
|
||||||
end
|
end
|
||||||
|
@ -290,27 +292,10 @@ function Battle.setLifeBarPercent(battleButton, percent)
|
||||||
lifeBarWidget:setBackgroundColor(color)
|
lifeBarWidget:setBackgroundColor(color)
|
||||||
end
|
end
|
||||||
|
|
||||||
function Battle.onButtonClick(battleButton)
|
|
||||||
if battleButton then
|
|
||||||
if battleButton.isTarget then
|
|
||||||
g_game.cancelAttack()
|
|
||||||
else
|
|
||||||
g_game.attack(battleButton.creature)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function Battle.onbattlePannelHoverChange(widget, hovered)
|
function Battle.onbattlePannelHoverChange(widget, hovered)
|
||||||
if widget.isBattleButton or widget.battleButtonChild then
|
if widget.isBattleButton then
|
||||||
local battleButton = widget
|
widget.isHovered = hovered
|
||||||
if widget.battleButtonChild then
|
Battle.checkBattleButton(widget)
|
||||||
battleButton = widget:getParent()
|
|
||||||
end
|
|
||||||
|
|
||||||
if battleButton then
|
|
||||||
battleButton.isHovered = hovered
|
|
||||||
Battle.checkBattleButton(battleButton)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,8 @@ BattleButton
|
||||||
height: 20
|
height: 20
|
||||||
margin-top: 5
|
margin-top: 5
|
||||||
fixed-size: true
|
fixed-size: true
|
||||||
@onClick: Battle.onButtonClick(self)
|
&onHoverChange: Battle.onbattlePannelHoverChange
|
||||||
|
&onMouseRelease: Battle.onMouseRelease
|
||||||
&isBattleButton: true
|
&isBattleButton: true
|
||||||
|
|
||||||
UICreature
|
UICreature
|
||||||
|
@ -12,29 +13,28 @@ BattleButton
|
||||||
size: 20 20
|
size: 20 20
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
@onClick: Battle.onButtonClick(parent)
|
phantom: true
|
||||||
&battleButtonChild: true
|
|
||||||
|
|
||||||
UIWidget
|
UIWidget
|
||||||
id: spacer
|
id: spacer
|
||||||
width: 5
|
width: 5
|
||||||
anchors.left: creature.right
|
anchors.left: creature.right
|
||||||
anchors.top: creature.top
|
anchors.top: creature.top
|
||||||
&battleButtonChild: true
|
phantom: true
|
||||||
|
|
||||||
UIWidget
|
UIWidget
|
||||||
id: skull
|
id: skull
|
||||||
height: 11
|
height: 11
|
||||||
anchors.left: spacer.right
|
anchors.left: spacer.right
|
||||||
anchors.top: spacer.top
|
anchors.top: spacer.top
|
||||||
&battleButtonChild: true
|
phantom: true
|
||||||
|
|
||||||
UIWidget
|
UIWidget
|
||||||
id: emblem
|
id: emblem
|
||||||
height: 11
|
height: 11
|
||||||
anchors.left: skull.right
|
anchors.left: skull.right
|
||||||
anchors.top: creature.top
|
anchors.top: creature.top
|
||||||
&battleButtonChild: true
|
phantom: true
|
||||||
|
|
||||||
LargerLabel
|
LargerLabel
|
||||||
id: label
|
id: label
|
||||||
|
@ -42,8 +42,7 @@ BattleButton
|
||||||
anchors.top: creature.top
|
anchors.top: creature.top
|
||||||
color: #888888
|
color: #888888
|
||||||
margin-left: 2
|
margin-left: 2
|
||||||
@onClick: Battle.onButtonClick(parent)
|
phantom: true
|
||||||
&battleButtonChild: true
|
|
||||||
|
|
||||||
ProgressBar
|
ProgressBar
|
||||||
id: lifeBar
|
id: lifeBar
|
||||||
|
@ -52,5 +51,4 @@ BattleButton
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
anchors.top: label.bottom
|
anchors.top: label.bottom
|
||||||
margin-top: 2
|
margin-top: 2
|
||||||
@onClick: Battle.onButtonClick(parent)
|
phantom: true
|
||||||
&battleButtonChild: true
|
|
Loading…
Reference in New Issue