Guest User

Untitled

a guest
Nov 18th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.74 KB | None | 0 0
  1. TokenTray = class()
  2.  
  3. function TokenTray:init(x, y)
  4.     -- you can accept and set parameters here
  5.     self.x = x
  6.     self.y = y
  7.     self.frame = Frame(x, y, x + 200, y + 850)
  8.     self.selected = 0
  9.     self.tokens = {}
  10.     self.tokens[1] = Token(codes[1], 30, 0, 1) 
  11.     self.tokens[2] = Token(codes[2], 30, 0, 1)
  12.     self.tokens[3] = Token(codes[3], 30, 0, 1)
  13.     self.tokens[4] = Token(codes[4], 30, 0, 1)
  14.     self.tokens[5] = Token(codes[5], 30, 0, 3)
  15.     self.tokens[6] = Token(codes[6], 30, 0, 2)
  16.     self.tokens[7] = Token(codes[7], 30, 0, 2)
  17.     self.tokens[8] = Token(codes[8], 30, 0, 2)
  18.     self.tokens[9] = Token(codes[9], 30, 0, 2)
  19.     self.tokens[10] = Token(codes[10], 30, 0, 2)
  20.     self.tokens[11] = Token(codes[11], 30, 0, 4)
  21.     self.tokens[12] = Token(codes[12], 30, 0, 4)
  22.     self.tokens[13] = Token(codes[13], 30, 0, 4)
  23.     self.tokens[14] = Token(codes[14], 30, 0, 3)
  24.     self.tokens[15] = Token(codes[15], 30, 0, 3)
  25.     self.tokens[16] = Token(codes[16], 30, 0, 3)
  26.     self.tokens[17] = Token(codes[17], 30, 0, 4)
  27.     self.tokens[18] = Token(codes[18], 30, 0, 4)
  28.     self.tokens[19] = Token(codes[19], 30, 0, 3)
  29.     self.tokens[20] = Token(codes[20], 30, 0, 3)
  30.     self.tokens[21] = Token(codes[21], 30, 0, 3)
  31.     for i = 1, #self.tokens do
  32.         self.tokens[i].y = 2000
  33.     end
  34.     self.dividers = {}
  35.     self.dividers[1] = Divider("Movement", 1, 800, 199, 830)
  36.     self.dividers[2] = Divider("Sensors", 1, 800, 199, 830)
  37.     self.dividers[3] = Divider("Equipment", 1, 800, 199, 830)
  38.     self.dividers[4] = Divider("Control", 1, 800, 199, 830)
  39.     self:selectDivider(1)
  40. end
  41.  
  42. function TokenTray:selectDivider(i)
  43.     local y
  44.     self.selectedDivider= i
  45.     for i = 1, self.selectedDivider do
  46.         y = self.frame:height() - 1 - i * 30
  47.         self.dividers[i].frame.bottom = y
  48.         self.dividers[i].frame.top = y + 30
  49.     end
  50.     for i = self.selectedDivider + 1, #self.dividers do
  51.         y = (#self.dividers - i) * 30
  52.         self.dividers[i].frame.bottom = y
  53.         self.dividers[i].frame.top = y + 30
  54.     end
  55.     count = 0
  56.     for i = 1, #self.tokens do
  57.         if self.tokens[i].divide == self.selectedDivider then
  58.             count = count + 1
  59.             self.tokens[i].y = 
  60.             self.dividers[self.selectedDivider].frame.bottom
  61.              - count * 70 
  62.         else
  63.             self.tokens[i].y = 2000
  64.         end
  65.     end
  66. end
  67.  
  68. function TokenTray:draw()
  69.     pushStyle()
  70.     pushMatrix()
  71.     fontSize(18)
  72.     tint(25, 27, 46, 255)
  73.     sprite(boardImg, self.frame.left, self.frame.bottom, 
  74.         self.frame.right, self.frame.top)
  75.     stroke(249, 249, 249, 255)
  76.     noFill()
  77.     strokeWidth(2)
  78.     self.frame:draw()
  79.     fill(87, 87, 87, 221)
  80.     
  81.     noStroke()
  82.     translate(self.x, self.y)
  83.  
  84.     for i = 1, #self.dividers do
  85.        self.dividers[i]:draw()
  86.     end
  87.     for i = 1, #self.tokens do
  88.         if self.tokens[i].divide == self.selectedDivider then
  89.             self.tokens[i]:draw()
  90.         end
  91.     end
  92.     popMatrix()
  93.     popStyle()
  94. end
  95.  
  96. function TokenTray:touched(touch)
  97.     t = Ttouch(touch)
  98.     self.selected = 0
  99.     t:translate(self.x, self.y)
  100.     for i = 1, #self.tokens do
  101.         if self.tokens[i]:touched(t) then
  102.             self.selected = i
  103.             return true
  104.             --sound(SOUND_SHOOT, 773)
  105.         end
  106.     end
  107.     for i = 1, #self.dividers do
  108.         if self.dividers[i]:touched(t) then
  109.             self:selectDivider(i)
  110.             sound(SOUND_BLIT, 4824)
  111.             return false
  112.             --sound(SOUND_SHOOT, 773)
  113.         end
  114.     end
  115.     return false
  116. end
Add Comment
Please, Sign In to add comment