projects
/
tabakrolletjie.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add available lights list to levels.
[tabakrolletjie.git]
/
tabakrolletjie
/
scenes
/
load_level.py
diff --git
a/tabakrolletjie/scenes/load_level.py
b/tabakrolletjie/scenes/load_level.py
index 7b3478918209e3042a3eeb8fb3ed5b4cdd7cca7f..4cf267b0f2ba264cc5d8fa454bf45516b0a1e096 100644
(file)
--- a/
tabakrolletjie/scenes/load_level.py
+++ b/
tabakrolletjie/scenes/load_level.py
@@
-14,23
+14,20
@@
class LoadLevelScene(BaseScene):
def _list_stations(self):
station_path = loader.full_path("stations")
def _list_stations(self):
station_path = loader.full_path("stations")
- files = os.listdir(station_path)
- result = []
- for f in files:
- name, ext = os.path.splitext(f)
- if ext == '.json':
- result.append((name, f))
- result.sort()
- return result
+ files = [f for f in os.listdir(station_path) if f.endswith(".json")]
+ files.sort()
+ return [loader.load_station(f) for f in files]
def enter(self, gamestate):
"""Construct list of stations"""
height = 50
def enter(self, gamestate):
"""Construct list of stations"""
height = 50
- self._buttons = []
width = 30
width = 30
- for station, filename in self._list_stations():
+ self._buttons = []
+ for station in self._list_stations():
+ title = station["config"]["name"]
pos = (width, height)
pos = (width, height)
- button = TextButton(station, (255, 255, 255), filename, pos)
+ button = TextButton(title, (255, 255, 255), None, pos)
+ button.station = station
if width < 400:
width += 350
else:
if width < 400:
width += 350
else:
@@
-46,13
+43,13
@@
class LoadLevelScene(BaseScene):
def _get_pressed(self, ev):
for button in self._buttons:
if button.pressed(ev):
def _get_pressed(self, ev):
for button in self._buttons:
if button.pressed(ev):
- return button
.name
+ return button
return None
return None
- def _do_load(self,
name
, gamestate):
+ def _do_load(self,
station
, gamestate):
from .day import DayScene
from .day import DayScene
- print "Loading station",
name
- gamestate.
load_station(name
)
+ print "Loading station",
station["config"]["name"]
+ gamestate.
set_station(station
)
SceneChangeEvent.post(scene=DayScene())
def event(self, ev, gamestate):
SceneChangeEvent.post(scene=DayScene())
def event(self, ev, gamestate):
@@
-62,4
+59,4
@@
class LoadLevelScene(BaseScene):
elif ev.type == pgl.MOUSEBUTTONDOWN:
pressed = self._get_pressed(ev)
if pressed:
elif ev.type == pgl.MOUSEBUTTONDOWN:
pressed = self._get_pressed(ev)
if pressed:
- self._do_load(pressed, gamestate)
+ self._do_load(pressed
.station
, gamestate)