32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
|
import json
|
||
|
import os
|
||
|
from BaseClasses import Entrance
|
||
|
|
||
|
with open(os.path.join(os.path.dirname(__file__), 'regions.json'), 'r') as file:
|
||
|
regionMap = json.loads(file.read())
|
||
|
|
||
|
def create_regions(world, player: int):
|
||
|
from . import create_region
|
||
|
from .Locations import location_table
|
||
|
|
||
|
# Create regions and assign locations to each region
|
||
|
for region in regionMap:
|
||
|
exit_array = regionMap[region]
|
||
|
if len(exit_array) == 0:
|
||
|
exit_array = None
|
||
|
new_region = create_region(world, player, region, [location["name"] for location in location_table if location["region"] == region], exit_array)
|
||
|
world.regions += [new_region]
|
||
|
|
||
|
menu = create_region(world, player, "Menu", None, ["Raft"])
|
||
|
world.regions += [menu]
|
||
|
menuConn = world.get_entrance("MenuToRaft", player)
|
||
|
menuConn.connect(world.get_region("Raft", player))
|
||
|
|
||
|
# Link regions together
|
||
|
for region in regionMap:
|
||
|
for linkedRegion in regionMap[region]:
|
||
|
connection = world.get_entrance(getConnectionName(region, linkedRegion), player)
|
||
|
connection.connect(world.get_region(linkedRegion, player))
|
||
|
|
||
|
def getConnectionName(entranceName: str, exitName: str):
|
||
|
return entranceName + "To" + exitName
|