|
@@ -4,28 +4,30 @@ import os
|
4
|
4
|
import random
|
5
|
5
|
import typing
|
6
|
6
|
|
|
7
|
+import cocos
|
7
|
8
|
import pyglet
|
8
|
9
|
import time
|
9
|
10
|
|
10
|
|
-import tmx
|
11
|
11
|
from PIL import Image
|
12
|
12
|
from pyglet.window import key
|
13
|
13
|
|
14
|
14
|
from cocos.actions import MoveTo as BaseMoveTo
|
15
|
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
|
19
|
from opencombat.simulation.interior import InteriorManager
|
18
|
20
|
from opencombat.simulation.tmx import TileMap
|
19
|
21
|
from opencombat.user_action import UserAction
|
20
|
22
|
from synergine2.config import Config
|
21
|
|
-from synergine2.log import SynergineLogger
|
22
|
23
|
from synergine2.terminals import Terminal
|
23
|
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
|
27
|
from synergine2_cocos2d.animation import Animate
|
27
|
28
|
from synergine2_cocos2d.gl import draw_line
|
28
|
29
|
from synergine2_cocos2d.gui import EditLayer as BaseEditLayer
|
|
30
|
+from synergine2_cocos2d.gui import Gui
|
29
|
31
|
from synergine2_cocos2d.gui import TMXGui
|
30
|
32
|
from synergine2_cocos2d.layer import LayerManager
|
31
|
33
|
from synergine2_xyz.move.simulation import FinishMoveEvent
|
|
@@ -90,6 +92,45 @@ class EditLayer(BaseEditLayer):
|
90
|
92
|
class TileLayerManager(LayerManager):
|
91
|
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
|
135
|
# TODO: Move into synergine2cocos2d
|
95
|
136
|
class AudioLibrary(object):
|