|
@@ -4,6 +4,7 @@ from cocos.actions import Repeat, ScaleBy, Reverse
|
4
|
4
|
|
5
|
5
|
from sandbox.life_game.simulation import CellDieEvent
|
6
|
6
|
from sandbox.life_game.simulation import CellBornEvent
|
|
7
|
+from synergine2.gui import Gui
|
7
|
8
|
from synergine2.simulation import Event
|
8
|
9
|
from synergine2.terminals import TerminalPackage
|
9
|
10
|
from synergine2.terminals import Terminal
|
|
@@ -25,23 +26,25 @@ class HelloWorld(cocos.layer.Layer):
|
25
|
26
|
self.add(self.label)
|
26
|
27
|
|
27
|
28
|
|
28
|
|
-class Gui(object):
|
29
|
|
- def __init__(self, terminal: Terminal):
|
30
|
|
- self.terminal = terminal
|
31
|
|
- self.terminal.register_event_handler(CellDieEvent, self.on_cell_die)
|
32
|
|
- self.terminal.register_event_handler(CellBornEvent, self.on_cell_born)
|
|
29
|
+class LifeGameGui(Gui):
|
|
30
|
+ def __init__(
|
|
31
|
+ self,
|
|
32
|
+ terminal: Terminal,
|
|
33
|
+ read_queue_interval: float = 1 / 60.0,
|
|
34
|
+ ):
|
|
35
|
+ super().__init__(terminal, read_queue_interval)
|
33
|
36
|
|
34
|
|
- cocos.director.director.init()
|
35
|
37
|
self.hello_layer = HelloWorld()
|
36
|
38
|
self.main_scene = cocos.scene.Scene(self.hello_layer)
|
37
|
39
|
|
|
40
|
+ self.terminal.register_event_handler(CellDieEvent, self.on_cell_die)
|
|
41
|
+ self.terminal.register_event_handler(CellBornEvent, self.on_cell_born)
|
|
42
|
+
|
38
|
43
|
self.born = 0
|
39
|
44
|
self.die = 0
|
40
|
45
|
|
41
|
|
- pyglet.clock.schedule_interval(lambda *_, **__: self.terminal.read(), 1 / 60.0)
|
42
|
|
-
|
43
|
|
- def run(self):
|
44
|
|
- cocos.director.director.run(self.main_scene)
|
|
46
|
+ def get_main_scene(self) -> HelloWorld:
|
|
47
|
+ return self.main_scene
|
45
|
48
|
|
46
|
49
|
def before_received(self, package: TerminalPackage):
|
47
|
50
|
self.born = 0
|