Browse Source

adapt code to last synergine2 modifications (cocos2d)

Bastien Sevajol 7 years ago
parent
commit
f38b738273
3 changed files with 51 additions and 6 deletions
  1. 2 2
      opencombat/gui/actor.py
  2. 4 0
      opencombat/gui/animation.py
  3. 45 4
      opencombat/gui/base.py

+ 2 - 2
opencombat/gui/actor.py View File

3
 
3
 
4
 from synergine2.simulation import Subject
4
 from synergine2.simulation import Subject
5
 from synergine2_cocos2d.actor import Actor
5
 from synergine2_cocos2d.actor import Actor
6
-from synergine2_cocos2d.animation import ANIMATION_WALK
7
-from synergine2_cocos2d.animation import ANIMATION_CRAWL
6
+from opencombat.gui.animation import ANIMATION_WALK
7
+from opencombat.gui.animation import ANIMATION_CRAWL
8
 
8
 
9
 
9
 
10
 FLAG_DE = 'DE'
10
 FLAG_DE = 'DE'

+ 4 - 0
opencombat/gui/animation.py View File

1
+# coding: utf-8
2
+
3
+ANIMATION_WALK = 'WALK'
4
+ANIMATION_CRAWL = 'CRAWL'

+ 45 - 4
opencombat/gui/base.py View File

4
 import random
4
 import random
5
 import typing
5
 import typing
6
 
6
 
7
+import cocos
7
 import pyglet
8
 import pyglet
8
 import time
9
 import time
9
 
10
 
10
-import tmx
11
 from PIL import Image
11
 from PIL import Image
12
 from pyglet.window import key
12
 from pyglet.window import key
13
 
13
 
14
 from cocos.actions import MoveTo as BaseMoveTo
14
 from cocos.actions import MoveTo as BaseMoveTo
15
 from cocos.audio.pygame.mixer import Sound
15
 from cocos.audio.pygame.mixer import Sound
16
+from synergine2_cocos2d.interaction import InteractionManager
17
+from synergine2_cocos2d.middleware import MapMiddleware
16
 
18
 
17
 from opencombat.simulation.interior import InteriorManager
19
 from opencombat.simulation.interior import InteriorManager
18
 from opencombat.simulation.tmx import TileMap
20
 from opencombat.simulation.tmx import TileMap
19
 from opencombat.user_action import UserAction
21
 from opencombat.user_action import UserAction
20
 from synergine2.config import Config
22
 from synergine2.config import Config
21
-from synergine2.log import SynergineLogger
22
 from synergine2.terminals import Terminal
23
 from synergine2.terminals import Terminal
23
 from synergine2_cocos2d.actions import MoveTo
24
 from synergine2_cocos2d.actions import MoveTo
24
-from synergine2_cocos2d.animation import ANIMATION_CRAWL
25
-from synergine2_cocos2d.animation import ANIMATION_WALK
25
+from opencombat.gui.animation import ANIMATION_CRAWL
26
+from opencombat.gui.animation import ANIMATION_WALK
26
 from synergine2_cocos2d.animation import Animate
27
 from synergine2_cocos2d.animation import Animate
27
 from synergine2_cocos2d.gl import draw_line
28
 from synergine2_cocos2d.gl import draw_line
28
 from synergine2_cocos2d.gui import EditLayer as BaseEditLayer
29
 from synergine2_cocos2d.gui import EditLayer as BaseEditLayer
30
+from synergine2_cocos2d.gui import Gui
29
 from synergine2_cocos2d.gui import TMXGui
31
 from synergine2_cocos2d.gui import TMXGui
30
 from synergine2_cocos2d.layer import LayerManager
32
 from synergine2_cocos2d.layer import LayerManager
31
 from synergine2_xyz.move.simulation import FinishMoveEvent
33
 from synergine2_xyz.move.simulation import FinishMoveEvent
90
 class TileLayerManager(LayerManager):
92
 class TileLayerManager(LayerManager):
91
     edit_layer_class = EditLayer
93
     edit_layer_class = EditLayer
92
 
94
 
95
+    def __init__(
96
+        self,
97
+        config: Config,
98
+        middleware: MapMiddleware,
99
+        interaction_manager: 'InteractionManager',
100
+        gui: 'Gui',
101
+    ) -> None:
102
+        super().__init__(
103
+            config,
104
+            middleware,
105
+            interaction_manager,
106
+            gui,
107
+        )
108
+        self.background_sprite = None  # type: cocos.sprite.Sprite
109
+        self.interior_sprite = None  # type: cocos.sprite.Sprite
110
+        self.ground_layer = None  # type: cocos.tiles.RectMapLayer
111
+        self.top_layer = None  # type: cocos.tiles.RectMapLayer
112
+
113
+    def init(self) -> None:
114
+        super().init()
115
+        self.interior_sprite = self.middleware.get_interior_sprite()
116
+        self.background_sprite = self.middleware.get_background_sprite()
117
+        self.ground_layer = self.middleware.get_ground_layer()
118
+        self.top_layer = self.middleware.get_top_layer()
119
+
120
+    def connect_layers(self) -> None:
121
+        self.main_layer.add(self.interior_sprite)
122
+        self.main_layer.add(self.background_sprite)
123
+        self.main_layer.add(self.ground_layer)
124
+        super().connect_layers()
125
+        self.main_layer.add(self.top_layer)
126
+
127
+    def center(self) -> None:
128
+        super().center()
129
+        self.interior_sprite.position = 0 + (self.interior_sprite.width / 2), 0 + (self.interior_sprite.height / 2)  # nopep8
130
+        self.background_sprite.position = 0 + (self.background_sprite.width / 2), 0 + (self.background_sprite.height/2)  # nopep8
131
+        self.ground_layer.set_view(0, 0, self.ground_layer.px_width, self.ground_layer.px_height,)  # nopep8
132
+        self.top_layer.set_view(0, 0, self.top_layer.px_width, self.top_layer.px_height)
133
+
93
 
134
 
94
 # TODO: Move into synergine2cocos2d
135
 # TODO: Move into synergine2cocos2d
95
 class AudioLibrary(object):
136
 class AudioLibrary(object):