]> gitweb.factorcode.org Git - factor.git/blob - extra/game/worlds/worlds.factor
Fix conflict
[factor.git] / extra / game / worlds / worlds.factor
1 USING: accessors game.input game.loop kernel math ui.gadgets
2 ui.gadgets.worlds ui.gestures threads ;
3 IN: game.worlds
4
5 TUPLE: game-world < world
6     game-loop
7     { tick-slice float initial: 0.0 } ;
8
9 GENERIC: tick-length ( world -- micros )
10
11 M: game-world draw*
12     swap >>tick-slice relayout-1 yield ;
13
14 M: game-world begin-world
15     open-game-input 
16     dup [ tick-length ] [ ] bi <game-loop> [ >>game-loop ] keep start-loop
17     drop ;
18
19 M: game-world end-world
20     [ [ stop-loop ] when* f ] change-game-loop
21     close-game-input
22     drop ;
23