Class: Skin

Inherits:
Object
  • Object
show all
Defined in:
lib/rubysketch/solitaire/skin.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(index = 0) ⇒ Skin

Returns a new instance of Skin.



13
14
15
# File 'lib/rubysketch/solitaire/skin.rb', line 13

def initialize(index = 0)
  @index = index % self.class.offsets.size
end

Instance Attribute Details

#indexObject (readonly)

Returns the value of attribute index.



17
18
19
# File 'lib/rubysketch/solitaire/skin.rb', line 17

def index
  @index
end

Class Method Details

.setupObject



6
7
8
9
10
11
# File 'lib/rubysketch/solitaire/skin.rb', line 6

def self.setup()
  ncolumns         = 7
  size             = [width, height].min
  @margin          = size * 0.02
  @cardSpriteWidth = (size - @margin * (ncolumns + 1)) / ncolumns
end

Instance Method Details

#backgroundCheckerColorsObject



43
44
45
# File 'lib/rubysketch/solitaire/skin.rb', line 43

def backgroundCheckerColors()
  @backgroundColors ||= self.class.colors[index][0, 2]
end

#blackColorObject



51
52
53
# File 'lib/rubysketch/solitaire/skin.rb', line 51

def blackColor()
  @blackColor ||= self.class.colors[index][3]
end

#buttonColorObject



55
56
57
# File 'lib/rubysketch/solitaire/skin.rb', line 55

def buttonColor()
  @buttonColor ||= self.class.colors[index][4]
end

#cardSpriteSizeObject



39
40
41
# File 'lib/rubysketch/solitaire/skin.rb', line 39

def cardSpriteSize()
  @cardSpriteSize ||= self.class.cardSpriteSize
end

#closedImageObject



31
32
33
# File 'lib/rubysketch/solitaire/skin.rb', line 31

def closedImage()
  @closedImage ||= self.class.closedImages[index]
end

#marginObject



63
64
65
# File 'lib/rubysketch/solitaire/skin.rb', line 63

def margin()
  self.class.margin
end

#markColor(mark) ⇒ Object



67
68
69
# File 'lib/rubysketch/solitaire/skin.rb', line 67

def markColor(mark)
  Card::MARKS[0, 2].include?(mark) ? redColor : blackColor
end


23
24
25
# File 'lib/rubysketch/solitaire/skin.rb', line 23

def menuIcon()
  @menuIcon ||= self.class.getAssetImage 64, 192, 64, 64
end

#openedImage(mark, number) ⇒ Object



35
36
37
# File 'lib/rubysketch/solitaire/skin.rb', line 35

def openedImage(mark, number)
  (@openedImages ||= {})[[mark, number]] ||= createOpenedImage mark, number
end

#pauseIconObject



19
20
21
# File 'lib/rubysketch/solitaire/skin.rb', line 19

def pauseIcon()
  @pauseIcon ||= self.class.getAssetImage 0, 192, 64, 64
end

#redColorObject



47
48
49
# File 'lib/rubysketch/solitaire/skin.rb', line 47

def redColor()
  @redColor ||= self.class.colors[index][2]
end

#settingsIconObject



27
28
29
# File 'lib/rubysketch/solitaire/skin.rb', line 27

def settingsIcon()
  @settingsIcon ||= self.class.getAssetImage 128, 192, 64, 64
end

#translucentBackgroundColorObject



59
60
61
# File 'lib/rubysketch/solitaire/skin.rb', line 59

def translucentBackgroundColor()
  [0, 0, 0, 64]
end