tank
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
function enum( t )
|
||||
local result = {}
|
||||
|
||||
for index, name in pairs(t) do
|
||||
result[name] = index
|
||||
end
|
||||
|
||||
return result
|
||||
function enum( t )
|
||||
local result = {}
|
||||
|
||||
for index, name in pairs(t) do
|
||||
result[name] = index
|
||||
end
|
||||
|
||||
return result
|
||||
end
|
@@ -1,153 +1,153 @@
|
||||
-- https://gist.github.com/GammaGames/17e0c64e932e6a5b10919af380276fb1
|
||||
local pd <const> = playdate
|
||||
local gfx <const> = Graphics
|
||||
|
||||
local box = playout.box.new
|
||||
local text = playout.text.new
|
||||
|
||||
local window = {
|
||||
padding = 8,
|
||||
border = 2,
|
||||
borderRadius = 1,
|
||||
minWidth=160,
|
||||
maxWidth=210,
|
||||
backgroundColor = gfx.kColorWhite,
|
||||
font = Noble.Text.FONT_NEWSLEAK
|
||||
}
|
||||
local label = {
|
||||
padding = 4
|
||||
}
|
||||
local labelText = {
|
||||
alignment = kTextAlignment.left
|
||||
}
|
||||
local input = {
|
||||
padding = 4,
|
||||
paddingLeft = 8,
|
||||
borderRadius = 2,
|
||||
border = 1,
|
||||
minWidth = 140,
|
||||
hAlign = playout.kAlignStart
|
||||
}
|
||||
local inputText = {
|
||||
alignment = kTextAlignment.left,
|
||||
wrap = false
|
||||
}
|
||||
local button = {
|
||||
padding = 4,
|
||||
paddingLeft = 8
|
||||
}
|
||||
local buttonHover = {
|
||||
padding = 4,
|
||||
paddingLeft = 8,
|
||||
borderRadius = 2,
|
||||
border = 2,
|
||||
backgroundColor = gfx.kColorWhite,
|
||||
font = Noble.Text.FONT_NEWSLEAK_BOLD,
|
||||
}
|
||||
|
||||
function notify(_text, callback)
|
||||
local tree = playout.tree.new(
|
||||
box({
|
||||
direction = playout.kDirectionVertical,
|
||||
spacing = 4,
|
||||
style = window,
|
||||
}, {
|
||||
text(_text, labelText),
|
||||
box({ style = button, tabIndex = 1 }, { text("Okay") }),
|
||||
})
|
||||
)
|
||||
tree:computeTabIndex()
|
||||
local nodes = tree.tabIndex
|
||||
|
||||
local selectedIndex = 1
|
||||
nodes[selectedIndex].style = buttonHover
|
||||
|
||||
pd.inputHandlers.push({
|
||||
AButtonDown = function()
|
||||
pd.inputHandlers.pop()
|
||||
callback()
|
||||
end,
|
||||
BButtonDown = function()
|
||||
pd.inputHandlers.pop()
|
||||
callback()
|
||||
end,
|
||||
}, true)
|
||||
|
||||
return tree:asSprite()
|
||||
end
|
||||
|
||||
function confirm(_text, callback)
|
||||
local tree = playout.tree.new(
|
||||
box({
|
||||
direction = playout.kDirectionVertical,
|
||||
spacing = 4,
|
||||
style = window
|
||||
}, {
|
||||
box({ style = label}, { text(_text, labelText) }),
|
||||
box({
|
||||
direction = playout.kDirectionHorizontal,
|
||||
spacing = 8
|
||||
}, {
|
||||
box({ style = button, tabIndex = 1 }, { text("No") }),
|
||||
box({ style = button, tabIndex = 2 }, { text("Yes") }),
|
||||
})
|
||||
})
|
||||
)
|
||||
tree:computeTabIndex()
|
||||
local nodes = tree.tabIndex
|
||||
|
||||
local selectedIndex = 1
|
||||
nodes[selectedIndex].style = buttonHover
|
||||
|
||||
pd.inputHandlers.push({
|
||||
leftButtonDown = function()
|
||||
nodes[selectedIndex].style = button
|
||||
selectedIndex = math.ringInt(selectedIndex - 1, 1, #nodes)
|
||||
nodes[selectedIndex].style = buttonHover
|
||||
tree:draw()
|
||||
end,
|
||||
rightButtonDown = function()
|
||||
nodes[selectedIndex].style = button
|
||||
selectedIndex = math.ringInt(selectedIndex + 1, 1, #nodes)
|
||||
nodes[selectedIndex].style = buttonHover
|
||||
tree:draw()
|
||||
end,
|
||||
AButtonUp = function()
|
||||
pd.inputHandlers.pop()
|
||||
callback(selectedIndex == 2)
|
||||
end,
|
||||
BButtonUp = function()
|
||||
pd.inputHandlers.pop()
|
||||
callback(false)
|
||||
end,
|
||||
}, true)
|
||||
|
||||
return tree:asSprite()
|
||||
end
|
||||
|
||||
function prompt(_text, value, callback)
|
||||
local tree = playout.tree.new(
|
||||
box({
|
||||
direction = playout.kDirectionVertical,
|
||||
style = window,
|
||||
spacing = 4,
|
||||
hAlign = playout.kAlignStart
|
||||
}, {
|
||||
box({ style = label }, { text(_text, labelText) }),
|
||||
box({ style = input, tabIndex = 1 }, { text(value, inputText)}),
|
||||
})
|
||||
)
|
||||
tree:computeTabIndex()
|
||||
local nodes = tree.tabIndex
|
||||
local input = nodes[1].children[1]
|
||||
|
||||
pd.keyboard.show(value)
|
||||
function pd.keyboard.textChangedCallback()
|
||||
input.text = pd.keyboard.text
|
||||
tree:layout()
|
||||
tree:draw()
|
||||
end
|
||||
function pd.keyboard.keyboardWillHideCallback(ok) callback(ok, pd.keyboard.text) end
|
||||
|
||||
return tree:asSprite()
|
||||
-- https://gist.github.com/GammaGames/17e0c64e932e6a5b10919af380276fb1
|
||||
local pd <const> = playdate
|
||||
local gfx <const> = Graphics
|
||||
|
||||
local box = playout.box.new
|
||||
local text = playout.text.new
|
||||
|
||||
local window = {
|
||||
padding = 8,
|
||||
border = 2,
|
||||
borderRadius = 1,
|
||||
minWidth=160,
|
||||
maxWidth=210,
|
||||
backgroundColor = gfx.kColorWhite,
|
||||
font = Noble.Text.FONT_NEWSLEAK
|
||||
}
|
||||
local label = {
|
||||
padding = 4
|
||||
}
|
||||
local labelText = {
|
||||
alignment = kTextAlignment.left
|
||||
}
|
||||
local input = {
|
||||
padding = 4,
|
||||
paddingLeft = 8,
|
||||
borderRadius = 2,
|
||||
border = 1,
|
||||
minWidth = 140,
|
||||
hAlign = playout.kAlignStart
|
||||
}
|
||||
local inputText = {
|
||||
alignment = kTextAlignment.left,
|
||||
wrap = false
|
||||
}
|
||||
local button = {
|
||||
padding = 4,
|
||||
paddingLeft = 8
|
||||
}
|
||||
local buttonHover = {
|
||||
padding = 4,
|
||||
paddingLeft = 8,
|
||||
borderRadius = 2,
|
||||
border = 2,
|
||||
backgroundColor = gfx.kColorWhite,
|
||||
font = Noble.Text.FONT_NEWSLEAK_BOLD,
|
||||
}
|
||||
|
||||
function notify(_text, callback)
|
||||
local tree = playout.tree.new(
|
||||
box({
|
||||
direction = playout.kDirectionVertical,
|
||||
spacing = 4,
|
||||
style = window,
|
||||
}, {
|
||||
text(_text, labelText),
|
||||
box({ style = button, tabIndex = 1 }, { text("Okay") }),
|
||||
})
|
||||
)
|
||||
tree:computeTabIndex()
|
||||
local nodes = tree.tabIndex
|
||||
|
||||
local selectedIndex = 1
|
||||
nodes[selectedIndex].style = buttonHover
|
||||
|
||||
pd.inputHandlers.push({
|
||||
AButtonDown = function()
|
||||
pd.inputHandlers.pop()
|
||||
callback()
|
||||
end,
|
||||
BButtonDown = function()
|
||||
pd.inputHandlers.pop()
|
||||
callback()
|
||||
end,
|
||||
}, true)
|
||||
|
||||
return tree:asSprite()
|
||||
end
|
||||
|
||||
function confirm(_text, callback)
|
||||
local tree = playout.tree.new(
|
||||
box({
|
||||
direction = playout.kDirectionVertical,
|
||||
spacing = 4,
|
||||
style = window
|
||||
}, {
|
||||
box({ style = label}, { text(_text, labelText) }),
|
||||
box({
|
||||
direction = playout.kDirectionHorizontal,
|
||||
spacing = 8
|
||||
}, {
|
||||
box({ style = button, tabIndex = 1 }, { text("No") }),
|
||||
box({ style = button, tabIndex = 2 }, { text("Yes") }),
|
||||
})
|
||||
})
|
||||
)
|
||||
tree:computeTabIndex()
|
||||
local nodes = tree.tabIndex
|
||||
|
||||
local selectedIndex = 1
|
||||
nodes[selectedIndex].style = buttonHover
|
||||
|
||||
pd.inputHandlers.push({
|
||||
leftButtonDown = function()
|
||||
nodes[selectedIndex].style = button
|
||||
selectedIndex = math.ringInt(selectedIndex - 1, 1, #nodes)
|
||||
nodes[selectedIndex].style = buttonHover
|
||||
tree:draw()
|
||||
end,
|
||||
rightButtonDown = function()
|
||||
nodes[selectedIndex].style = button
|
||||
selectedIndex = math.ringInt(selectedIndex + 1, 1, #nodes)
|
||||
nodes[selectedIndex].style = buttonHover
|
||||
tree:draw()
|
||||
end,
|
||||
AButtonUp = function()
|
||||
pd.inputHandlers.pop()
|
||||
callback(selectedIndex == 2)
|
||||
end,
|
||||
BButtonUp = function()
|
||||
pd.inputHandlers.pop()
|
||||
callback(false)
|
||||
end,
|
||||
}, true)
|
||||
|
||||
return tree:asSprite()
|
||||
end
|
||||
|
||||
function prompt(_text, value, callback)
|
||||
local tree = playout.tree.new(
|
||||
box({
|
||||
direction = playout.kDirectionVertical,
|
||||
style = window,
|
||||
spacing = 4,
|
||||
hAlign = playout.kAlignStart
|
||||
}, {
|
||||
box({ style = label }, { text(_text, labelText) }),
|
||||
box({ style = input, tabIndex = 1 }, { text(value, inputText)}),
|
||||
})
|
||||
)
|
||||
tree:computeTabIndex()
|
||||
local nodes = tree.tabIndex
|
||||
local input = nodes[1].children[1]
|
||||
|
||||
pd.keyboard.show(value)
|
||||
function pd.keyboard.textChangedCallback()
|
||||
input.text = pd.keyboard.text
|
||||
tree:layout()
|
||||
tree:draw()
|
||||
end
|
||||
function pd.keyboard.keyboardWillHideCallback(ok) callback(ok, pd.keyboard.text) end
|
||||
|
||||
return tree:asSprite()
|
||||
end
|
Reference in New Issue
Block a user