diff --git a/game/world_tools.py b/game/world_tools.py index fc7022e..43a5a20 100644 --- a/game/world_tools.py +++ b/game/world_tools.py @@ -12,27 +12,26 @@ from tcod.map import Map from game.components import Gold, Graphic, Position from game.tags import IsActor, IsItem, IsPlayer, IsDoor -def add_wall(pos, remove=False): +def add_wall(world, pos, remove=False): r_pos = g.world_center + pos - map = g.world[None].components[Map] + map = world[None].components[Map] map.walkable[r_pos.y][r_pos.x] = remove map.transparent[r_pos.y][r_pos.x] = remove -def add_door(pos): - g.world.new_entity( +def add_door(world, pos): + world.new_entity( components={ Position: pos, Graphic: Graphic(ord('\\')) }, tags=[IsDoor] ) - add_wall(pos) + add_wall(world, pos) def new_world() -> Registry: """Return a freshly generated world.""" world = Registry() - g.world = world map = world[None].components[Map] = Map(100, 100) map.walkable[:] = True @@ -66,9 +65,9 @@ def new_world() -> Registry: for i in range(20): if i == 5 or i == 9: - add_door(Position(10,i)) + add_door(world, Position(10,i)) else: - add_wall(Position(10, i)) + add_wall(world, Position(10, i)) return world @@ -76,4 +75,4 @@ def new_world() -> Registry: def unlock_door(door: Entity): door.components[Graphic] = Graphic(ord("_")) door.tags.clear() - add_wall(door.components[Position], remove=True) + add_wall(g.world, door.components[Position], remove=True)