mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Core: don't allow region, location, or entrance with duplicate names (#2453)
This commit is contained in:
@@ -110,10 +110,14 @@ class MultiWorld():
|
||||
return self
|
||||
|
||||
def append(self, region: Region):
|
||||
assert region.name not in self.region_cache[region.player], \
|
||||
f"{region.name} already exists in region cache."
|
||||
self.region_cache[region.player][region.name] = region
|
||||
|
||||
def extend(self, regions: Iterable[Region]):
|
||||
for region in regions:
|
||||
assert region.name not in self.region_cache[region.player], \
|
||||
f"{region.name} already exists in region cache."
|
||||
self.region_cache[region.player][region.name] = region
|
||||
|
||||
def add_group(self, new_id: int):
|
||||
@@ -877,6 +881,8 @@ class Region:
|
||||
del(self.region_manager.location_cache[location.player][location.name])
|
||||
|
||||
def insert(self, index: int, value: Location) -> None:
|
||||
assert value.name not in self.region_manager.location_cache[value.player], \
|
||||
f"{value.name} already exists in the location cache."
|
||||
self._list.insert(index, value)
|
||||
self.region_manager.location_cache[value.player][value.name] = value
|
||||
|
||||
@@ -887,6 +893,8 @@ class Region:
|
||||
del(self.region_manager.entrance_cache[entrance.player][entrance.name])
|
||||
|
||||
def insert(self, index: int, value: Entrance) -> None:
|
||||
assert value.name not in self.region_manager.entrance_cache[value.player], \
|
||||
f"{value.name} already exists in the entrance cache."
|
||||
self._list.insert(index, value)
|
||||
self.region_manager.entrance_cache[value.player][value.name] = value
|
||||
|
||||
|
Reference in New Issue
Block a user