mirror of
https://github.com/edubart/otclient.git
synced 2025-10-14 19:44:54 +02:00
add combat controls
This commit is contained in:
@@ -25,6 +25,8 @@ Module
|
||||
dofile 'uimessagebox'
|
||||
|
||||
dofile 'tooltip'
|
||||
dofile 'radiogroup'
|
||||
|
||||
ToolTip.init()
|
||||
|
||||
onUnload: |
|
||||
|
43
modules/core_widgets/radiogroup.lua
Normal file
43
modules/core_widgets/radiogroup.lua
Normal file
@@ -0,0 +1,43 @@
|
||||
RadioGroup = newclass()
|
||||
|
||||
function RadioGroup.create()
|
||||
local radiogroup = RadioGroup.internalCreate()
|
||||
radiogroup.widgets = {}
|
||||
return radiogroup
|
||||
end
|
||||
|
||||
function RadioGroup:destroy()
|
||||
while #self.widgets ~= 0 do
|
||||
self:removeWidget(self.widgets[1])
|
||||
end
|
||||
end
|
||||
|
||||
function RadioGroup:addWidget(widget)
|
||||
table.insert(self.widgets, widget)
|
||||
widget.onMousePress = function(widget) self:selectWidget(widget) end
|
||||
end
|
||||
|
||||
function RadioGroup:removeWidget(widget)
|
||||
if self.selectedWidget == widget then
|
||||
self:selectWidget(nil)
|
||||
end
|
||||
widget.onMousePress = nil
|
||||
table.removevalue(self.widgets, widget)
|
||||
end
|
||||
|
||||
function RadioGroup:selectWidget(selectedWidget)
|
||||
if selectedWidget == self.selectedWidget then return end
|
||||
|
||||
local previousSelectedWidget = self.selectedWidget
|
||||
self.selectedWidget = selectedWidget
|
||||
|
||||
if previousSelectedWidget then
|
||||
previousSelectedWidget:setChecked(false)
|
||||
end
|
||||
|
||||
if selectedWidget then
|
||||
selectedWidget:setChecked(true)
|
||||
end
|
||||
|
||||
signalcall(self.onSelectionChange, self, selectedWidget, previousSelectedWidget)
|
||||
end
|
@@ -57,6 +57,8 @@ function ToolTip.terminate()
|
||||
currentHoveredWidget = nil
|
||||
toolTipLabel:destroy()
|
||||
toolTipLabel = nil
|
||||
|
||||
ToolTip = nil
|
||||
end
|
||||
|
||||
function ToolTip.display(text)
|
||||
|
@@ -7,9 +7,7 @@ function UICheckBox.create()
|
||||
return checkbox
|
||||
end
|
||||
|
||||
function UICheckBox:onMouseRelease(mousePos, mouseButton)
|
||||
if self:isPressed() and self:containsPoint(mousePos) then
|
||||
self:setChecked(not self:isChecked())
|
||||
return true
|
||||
end
|
||||
function UICheckBox:onMousePress(mousePos, mouseButton)
|
||||
self:setChecked(not self:isChecked())
|
||||
return true
|
||||
end
|
||||
|
Reference in New Issue
Block a user