-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTokenView.lua
68 lines (54 loc) · 1.59 KB
/
TokenView.lua
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
--------------------------------------------------------------------
--- Token View
--------------------------------------------------------------------
local TokenView = {
token = nil,
img = nil,
group = nil,
imgSelected = nil
}
function TokenView:new(tokenObj, group)
local newObj = {}
setmetatable( newObj, self )
self.__index = self
newObj.token = tokenObj
newObj.group = group
newObj.imgSelected = display.newRect( group, 0, 0, cellWidth, cellHeight )
newObj.imgSelected.fill = nil
newObj.imgSelected.stroke = {255/193, 187/255, 51/255}
newObj.imgSelected.strokeWidth = 3
newObj:updateImg()
tokenObj:registerObserver(newObj)
return newObj
end
function TokenView:onValueChanged( key, oldValue, newValue )
print(tostring(self) .. ": '" .. tostring(key) ..
"' changed from '" .. tostring(oldValue) ..
"' to '" .. tostring(newValue) .. "'")
self:updateImg()
end
function TokenView:updateImg()
if self.token.board == nil then
if self.img ~= nil then
self.img:removeSelf()
end
return
end
if self.img then
self.img:removeSelf()
end
local myimg = display.newImageRect(self.group,
"res/" ..
self.token.owner .. "_" ..
(self.token.isHorizontal and "horizontal" or "vertical") .. "_" ..
(self.token.isMaster and "master" or "normal") .. ".png",
system.ResourceDirectory,
cellWidth, cellHeight)
myimg.x = cellWidth/2+(self.token.x-1)*cellWidth
myimg.y = cellHeight/2+(self.token.y-1)*cellHeight
self.img = myimg
self.imgSelected.x = myimg.x
self.imgSelected.y = myimg.y
self.imgSelected.isVisible = self.token.isSelected
end
return TokenView