nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge: lib/github: implements caching to maximize rate limit.
[nit.git]
/
contrib
/
friendz
/
src
/
friendz.nit
diff --git
a/contrib/friendz/src/friendz.nit
b/contrib/friendz/src/friendz.nit
index
b8187ff
..
2dd8d80
100644
(file)
--- a/
contrib/friendz/src/friendz.nit
+++ b/
contrib/friendz/src/friendz.nit
@@
-17,6
+17,8
@@
import mnit
import realtime
import solver
import mnit::tileset
import realtime
import solver
import mnit::tileset
+import app::data_store
+import md5
intrude import grid
intrude import level
intrude import grid
intrude import level
@@
-140,7
+142,6
@@
class TextButton
var textx: Int
redef fun draw(ctx) do
var textx: Int
redef fun draw(ctx) do
- var x = self.x
if self.toggleable then
var w
if self.toggled or not self.enabled then w = 6 else w = 7
if self.toggleable then
var w
if self.toggled or not self.enabled then w = 6 else w = 7
@@
-834,7
+835,7
@@
redef class Display
fun measureText(str: String, height: Int): Int
do
var font = app.game.font
fun measureText(str: String, height: Int): Int
do
var font = app.game.font
- return str.length * (app.game.font.width + app.game.font.hspace)
+ return str.length * (font.width + font.hspace.to_i)
end
# displays a debug rectangle
end
# displays a debug rectangle
@@
-1081,8
+1082,8
@@
redef class Game
level = null
var i = levels.first
for l in levels do
level = null
var i = levels.first
for l in levels do
- if l.get_state == l.l_open then break
i = l
i = l
+ if l.get_state == l.l_open then break
end
entities.push(new StartButton(self, i))
end
end
entities.push(new StartButton(self, i))
end
@@
-1143,7
+1144,8
@@
redef class Game
end
var ev = lastev
if ev isa Event then
end
var ev = lastev
if ev isa Event then
- display.blit(img[4,0],ev.offset_x-42,ev.offset_y-6)
+ # Cursor, kept for debugging
+ #display.blit(img[4,0],ev.offset_x-42,ev.offset_y-6)
end
dirty_all = false
end
end
dirty_all = false
end
@@
-1268,6
+1270,18
@@
redef class Game
end
end
end
end
end
end
+
+ redef fun load_levels
+ do
+ super
+
+ for level in levels do
+ var score = app.data_store["s{level.str.md5}"]
+ if score isa Int then
+ level.score = score
+ end
+ end
+ end
end
# The spash title image
end
# The spash title image
@@
-1635,3
+1649,10
@@
redef class KeyEvent
return "unknown"
end
end
return "unknown"
end
end
+
+redef class Level
+ redef fun save
+ do
+ app.data_store["s{str.md5}"] = if score > 0 then score else null
+ end
+end