examples/moles: clean up management of `App::screen`
authorAlexis Laferrière <alexis.laf@xymus.net>
Sun, 9 Aug 2015 13:23:20 +0000 (09:23 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Wed, 12 Aug 2015 18:42:11 +0000 (14:42 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

examples/mnit_moles/src/moles.nit
examples/mnit_moles/src/moles_android.nit

index bfa03e7..ecaf067 100644 (file)
@@ -210,7 +210,8 @@ end
 
 redef class App
 
-       var screen: nullable Screen = null
+       # Main play screen
+       var screen = new Screen
 
        # Image set generate by inkscape_tools
        var assets = new DrawingImages
@@ -229,33 +230,23 @@ redef class App
                super
 
                maximum_fps = 50
-               init_screen_and_game
        end
 
-       fun init_screen_and_game do screen = new Screen
-
        redef fun frame_core(display)
        do
-               var screen = self.screen
-               if screen != null then
-                       screen.game.do_turn
-                       screen.do_frame(display)
-               end
+               screen.game.do_turn
+               screen.do_frame(display)
        end
 
        redef fun input(ie)
        do
-               var screen = screen
                if ie isa QuitEvent or
                        (ie isa KeyEvent and ie.to_c == 'q') then
                        quit = true
                        return true
-               else if screen != null then
-                       return screen.input(ie)
-               else
-                       print "unknown input: {ie}"
-                       return false
                end
+
+               return screen.input(ie)
        end
 end
 
index 677cb5b..d89500f 100644 (file)
@@ -27,7 +27,7 @@ redef class Game
 end
 
 redef class App
-       redef fun init_screen_and_game
+       redef fun on_start
        do
                # We use as a reference the Moto X
                var tw = 720