Rehandled menus; reworked dialog, added dialogsequences instead of dialogboxes
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
interfaceDialog = {type = "Dialog"}
|
||||
|
||||
-- centered buttons
|
||||
-- dialog boxes
|
||||
function interfaceDialog:New(style)
|
||||
|
||||
o = {}
|
||||
@@ -14,11 +13,10 @@ function interfaceDialog:New(style)
|
||||
|
||||
}
|
||||
|
||||
o.values = {false,true}
|
||||
o.value = 1
|
||||
o.target_variable = o.values[o.value]
|
||||
o.value = 0
|
||||
o.target_value = 0
|
||||
|
||||
o.clicked = false
|
||||
local style = {}
|
||||
|
||||
o.style = {
|
||||
content = style.content or nil,
|
||||
@@ -40,26 +38,31 @@ function interfaceDialog:New(style)
|
||||
return o
|
||||
end
|
||||
|
||||
function interfaceDialog:getVariable()
|
||||
return self.target_variable
|
||||
function interfaceDialog:updateContents()
|
||||
if self.value < self.target_value then
|
||||
self.contents = self.sequence[self.value]
|
||||
if self.contents[1] == nil then self.contents[1] = "" end
|
||||
if self.contents[2] == nil then self.contents[2] = "" end
|
||||
if self.contents[3] == nil then self.contents[3] = "" end
|
||||
end
|
||||
end
|
||||
|
||||
function AddElement(self)
|
||||
table.insert(UIElement,self)
|
||||
self.id = #UIElement
|
||||
function interfaceDialog:loadSequence(sequence)
|
||||
self.sequence = sequence
|
||||
self.value = 1
|
||||
self.target_value = 1+#sequence
|
||||
self:updateContents()
|
||||
end
|
||||
|
||||
function interfaceDialog:checkConfirm()
|
||||
if not self.clicked then
|
||||
if Keybind:HasPressed(Keybind.menu.confirm) then
|
||||
if love.mouse.isDown(1) then
|
||||
self.clicked = true
|
||||
self.value = self.value + 1
|
||||
if self.value > #self.values then
|
||||
self.value = 1
|
||||
end
|
||||
self.target_variable = self.values[self.value]
|
||||
print(self.value.." of "..self.target_value)
|
||||
self:updateContents()
|
||||
end
|
||||
else
|
||||
elseif not love.mouse.isDown(1) then
|
||||
self.clicked = false
|
||||
end
|
||||
end
|
||||
@@ -82,12 +85,13 @@ function interfaceDialog:Draw()
|
||||
self.size.w*self.style.scale_x*self.style.scale_proportion,
|
||||
self.size.h*self.style.scale_y*self.style.scale_proportion)
|
||||
|
||||
if self.style.content ~= nil then
|
||||
love.graphics.printf(self.style.content[1],self.pos.x+10,self.pos.y+(self.size.h/2),100,"left")
|
||||
love.graphics.printf(self.style.content[2],self.pos.x+(self.size.w/2),self.pos.y+(self.size.h/2),100,"center")
|
||||
love.graphics.printf(self.style.content[3],self.pos.x+(self.size.w)-10,self.pos.y+(self.size.h/2),100,"right")
|
||||
if self.contents ~= nil then
|
||||
love.graphics.printf(self.contents[1],self.pos.x+10,self.pos.y+(self.size.h/2),100,"left")
|
||||
love.graphics.printf(self.contents[2],self.pos.x+(self.size.w/2),self.pos.y+(self.size.h/2),100,"center")
|
||||
love.graphics.printf(self.contents[3],self.pos.x+(self.size.w)-10,self.pos.y+(self.size.h/2),100,"right")
|
||||
else
|
||||
love.graphics.printf("ERROR",self.pos.x+(self.size.w/2),self.pos.y+(self.size.h/2),100,"center")
|
||||
end
|
||||
|
||||
love.graphics.setColor(c1,c2,c3,a)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user