/traderous

To get this branch, use:
bzr branch http://9ix.org/bzr/traderous

« back to all changes in this revision

Viewing changes to trade_view.lua

  • Committer: Josh C
  • Date: 2013-06-15 15:58:55 UTC
  • Revision ID: josh@9ix.org-20130615155855-3i8a1hotsohsi82g
breakĀ outĀ planet

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
TradeView = Subview:extend {
2
 
   drawParent = true, --default?
3
 
   onNew = function (self)
4
 
              -- create all the interface bits from the planet
5
 
              -- and add them to the view
6
 
 
7
 
              local boxL = the.app.width / 2 - 200
8
 
              local boxT = the.app.height / 2 - 200
9
 
              local boxR = boxL + 400
10
 
 
11
 
              local lh = 17 -- line height
12
 
 
13
 
              self:add(Fill:new{
14
 
                          fill = {255,255,255},
15
 
                          x = boxL - 1,
16
 
                          y = boxT - 1,
17
 
                          width = 402,
18
 
                          height = 402,
19
 
                       })
20
 
 
21
 
              self:add(Fill:new{
22
 
                          fill = {0,0,0},
23
 
                          x = boxL,
24
 
                          y = boxT,
25
 
                          width = 400,
26
 
                          height = 400,
27
 
                       })
28
 
 
29
 
              for i, good in ipairs(self.planet.goods) do
30
 
                 local t = Text:new{
31
 
                    text = good[1],
32
 
                    x = boxL + 10,
33
 
                    y = boxT + 10 + (i-1) * lh,
34
 
                    width = 380
35
 
                 }
36
 
 
37
 
                 self:add(t)
38
 
 
39
 
                 t = Text:new{
40
 
                    text = good[2],
41
 
                    x = boxL + 10,
42
 
                    y = boxT + 10 + (i-1) * lh,
43
 
                    width = 300,
44
 
                    align = 'right'
45
 
                 }
46
 
                 self:add(t)
47
 
 
48
 
                 local b = Button:new{
49
 
                    x = boxR - 80,
50
 
                    y = boxT + 10 + (i-1) * lh - 1,
51
 
                    label = Text:new{ text = 'BUY', x = 1 },
52
 
                    onMouseDown = function (self)
53
 
                                     the.player:buy(good[1], good[2])
54
 
                                  end
55
 
                 }
56
 
                 local tw, th = b.label:getSize()
57
 
                 b.background = Fill:new{
58
 
                    fill = {100,100,100},
59
 
                    width = tw + 3,
60
 
                    height = th
61
 
                 }
62
 
                 self:add(b)
63
 
 
64
 
                 b = Button:new{
65
 
                    x = boxR - 40,
66
 
                    y = boxT + 10 + (i-1) * lh - 1,
67
 
                    label = Text:new{ text = 'SELL', x = 1 },
68
 
                    onMouseDown = function (self)
69
 
                                     the.player:sell(good[1], good[2])
70
 
                                  end
71
 
                 }
72
 
                 local tw, th = b.label:getSize()
73
 
                 b.background = Fill:new{
74
 
                    fill = {100,100,100},
75
 
                    width = tw + 3,
76
 
                    height = th
77
 
                 }
78
 
                 self:add(b)
79
 
              end
80
 
 
81
 
              local b = Button:new{
82
 
                 x = boxL, y = boxT,
83
 
                 label = Text:new{ text = 'Close', x = 3, y = 2 },
84
 
                 onMouseDown = function()
85
 
                                  self:close()
86
 
                               end
87
 
              }
88
 
 
89
 
              local tw, th = b.label:getSize()
90
 
              b.background = Fill:new{
91
 
                 fill = {100,100,100},
92
 
                 width = tw + 7,
93
 
                 height = th + 4
94
 
              }
95
 
              b.x = boxR - b.background.width - 10
96
 
              b.y = boxT + 400 - b.background.height - 10
97
 
 
98
 
              self:add(b)
99
 
 
100
 
              self.playerMoney = Text:new{
101
 
                 text = 'Your money: ',
102
 
                 width = 200,
103
 
                 x = boxL + 10,
104
 
                 y = boxT + 400 - th - 10
105
 
              }
106
 
              self:add(self.playerMoney)
107
 
 
108
 
              -- give the buttons a cycle to get out of the T/L corner
109
 
              self:update(0)
110
 
           end,
111
 
   activate = function (self)
112
 
                 the.cursor.visible = false
113
 
                 love.mouse.setVisible(true)
114
 
                 love.mouse.setGrab(false)
115
 
 
116
 
                 Subview.activate(self)
117
 
              end,
118
 
   close = function (self)
119
 
              the.cursor.visible = true
120
 
              love.mouse.setVisible(false)
121
 
              love.mouse.setGrab(true)
122
 
 
123
 
              self:deactivate()
124
 
           end,
125
 
   onUpdate = function (self)
126
 
                 if the.keys:justPressed('escape') then
127
 
                    self:close()
128
 
                 end
129
 
 
130
 
                 self.playerMoney.text = 'Your money: ' .. the.player.money
131
 
              end
132
 
}
 
 
b'\\ No newline at end of file'