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 |