add AutoWorld.generate_early, optimize Location

This commit is contained in:
Fabian Dill
2021-07-15 08:50:08 +02:00
parent 3d67e1dbdb
commit 01f0f309d1
5 changed files with 27 additions and 18 deletions

View File

@@ -69,6 +69,9 @@ class World(metaclass=AutoWorldRegister):
self.player = player
# overwritable methods that get called by Main.py, sorted by execution order
def generate_early(self):
pass
def create_regions(self):
pass

View File

@@ -44,11 +44,10 @@ class Factorio(World):
def create_regions(self):
player = self.player
menu = Region("Menu", None, "Menu", player)
menu = Region("Menu", None, "Menu", player, self.world)
crash = Entrance(player, "Crash Land", menu)
menu.exits.append(crash)
nauvis = Region("Nauvis", None, "Nauvis", player)
nauvis.world = menu.world = self.world
nauvis = Region("Nauvis", None, "Nauvis", player, self.world)
for tech_name, tech_id in base_tech_table.items():
tech = Location(player, tech_name, tech_id, nauvis)

View File

@@ -14,7 +14,7 @@ def link_minecraft_structures(world, player):
assert len(exits) == len(structs)
except AssertionError as e: # this should never happen
raise Exception(f"Could not obtain equal numbers of Minecraft exits and structures for player {player} ({world.player_names[player]})")
num_regions = len(exits)
pairs = {}
def set_pair(exit, struct):