1
1
TradeView = Subview:extend {
2
2
drawParent = true, --default?
4
3
onNew = function (self)
5
4
-- create all the interface bits from the planet
6
5
-- and add them to the view
8
local boxL = the.app.width / 2 - 225
9
local boxT = the.app.height / 2 - 150
10
local boxR = boxL + 450
11
local boxB = boxT + 300
7
local boxL = the.app.width / 2 - 200
8
local boxT = the.app.height / 2 - 200
9
local boxR = boxL + 400
13
11
local lh = 17 -- line height
66
y = boxT + 10 + i * lh,
42
y = boxT + 10 + (i-1) * lh,
72
48
local b = Button:new{
74
y = boxT + 10 + i * lh - 1,
50
y = boxT + 10 + (i-1) * lh - 1,
75
51
label = Text:new{ text = 'BUY', x = 1 },
76
onMouseDown = function (self)
77
the.player:buy(good[1], good[2])
80
53
local tw, th = b.label:getSize()
81
54
b.background = Fill:new{
90
y = boxT + 10 + i * lh - 1,
63
y = boxT + 10 + (i-1) * lh - 1,
91
64
label = Text:new{ text = 'SELL', x = 1 },
92
onMouseDown = function (self)
93
the.player:sell(good[1], good[2])
96
66
local tw, th = b.label:getSize()
97
67
b.background = Fill:new{
129
89
b.x = boxR - b.background.width - 10
130
b.y = boxB - b.background.height - 10
90
b.y = boxT + 400 - b.background.height - 10
134
local sh = the.player.shield
135
local cost = (sh.max - sh.strength) * sh.cost
139
-- WTF: trailing space makes it not wrap?
140
label = Text:new{ text = 'Repair shields (' .. cost .. ') ',
142
onMouseDown = function(self)
143
if the.player.money >= cost and sh.strength < sh.max then
144
the.player.money = the.player.money - cost
151
local tw, th = b.label:getSize()
152
b.background = Fill:new{
153
fill = {100,100,100},
157
b.x = boxR - b.background.width - 60
158
b.y = boxB - b.background.height - 10
160
if sh.strength < sh.max then
164
94
self.playerMoney = Text:new{
165
95
text = 'Your money: ',
98
y = boxT + 400 - th - 10
170
100
self:add(self.playerMoney)
172
self.availSpace = Text:new{
173
text = 'Available cargo space: ',
176
y = boxB - 2 * th - 12
178
self:add(self.availSpace)
180
if the.player.kills > 0 then
181
local award = the.player.kills * 100
183
text = 'You have been awarded ' ..
185
' credits for killing bandits.',
189
y = boxB - 4 * th - 12
192
the.player.money = the.player.money + award
196
102
-- give the buttons a cycle to get out of the T/L corner
200
106
the.cursor.visible = false
201
107
love.mouse.setVisible(true)
202
108
love.mouse.setGrab(false)
203
love.mouse.setPosition(the.app.width / 2, the.app.height / 2)
205
110
Subview.activate(self)
207
112
close = function (self)
210
113
the.cursor.visible = true
211
114
love.mouse.setVisible(false)
212
115
love.mouse.setGrab(true)
213
love.mouse.setPosition(the.app.width / 2, the.app.height / 2)
215
117
self:deactivate()
222
124
self.playerMoney.text = 'Your money: ' .. the.player.money
223
self.availSpace.text = 'Available cargo space: ' .. the.player:availableSpace()
225
for good, have in pairs(self.have) do
226
have.text = the.player.goods[good] or 0
b'\\ No newline at end of file'