Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathAdjustableParameter.lua
More file actions
Latest commit
41 lines (34 loc) · 1.08 KB
/
Copy pathAdjustableParameter.lua
File metadata and controls
41 lines (34 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
---
--- A parameter that the user can adjust by pressing keys in LOVE
---
---@classAdjustableParameter
AdjustableParameter=CpObject()
functionAdjustableParameter:init(value, name, up, down, step, lowerLimit, upperLimit)
self.value=value
self.name=name
self.up=up
self.down=down
self.step=step
self.lowerLimit=lowerLimit
self.upperLimit=upperLimit
end
functionAdjustableParameter:onKey(key, callback)
ifkey==self.upthen
self.value=math.min(self.upperLimit, self.value+self.step)
callback()
elseifkey==self.downthen
self.value=math.max(self.lowerLimit, self.value-self.step)
callback()
end
end
functionAdjustableParameter:get()
returnself.value
end
---@returntable to use with love.graphics.print()
functionAdjustableParameter:toColoredText(nameColor, keyColor, valueColor)
return {nameColor, self.name, keyColor, string.format(' (%s/%s): ', self.down, self.up),
valueColor, string.format('%.2f', self.value)}
end
functionAdjustableParameter:__tostring()
returnstring.format('%s (%s/%s): %.2f', self.name, self.down, self.up, self.value)
end