The Witness: Change Regions, Areas and Connections from Dict[str, Any] to dataclasses&NamedTuples (#4415)
* Change Regions, Areas and Connections to dataclasses/NamedTuples * Move to new file * we do a little renaming * Purge the 'lambda' naming in favor of 'rule' or 'WitnessRule' * missed one * unnecessary change * omega oops * NOOOOOOOO * Merge error * mypy thing
This commit is contained in:
		| @@ -10,8 +10,9 @@ from BaseClasses import Entrance, Region | ||||
| from worlds.generic.Rules import CollectionRule | ||||
|  | ||||
| from .data import static_logic as static_witness_logic | ||||
| from .data.definition_classes import WitnessRule | ||||
| from .data.static_logic import StaticWitnessLogicObj | ||||
| from .data.utils import WitnessRule, optimize_witness_rule | ||||
| from .data.utils import optimize_witness_rule | ||||
| from .locations import WitnessPlayerLocations | ||||
| from .player_logic import WitnessPlayerLogic | ||||
|  | ||||
| @@ -114,7 +115,7 @@ class WitnessPlayerRegions: | ||||
|             if k not in player_logic.UNREACHABLE_REGIONS | ||||
|         } | ||||
|  | ||||
|         event_locations_per_region = defaultdict(dict) | ||||
|         event_locations_per_region: Dict[str, Dict[str, int]] = defaultdict(dict) | ||||
|  | ||||
|         for event_location, event_item_and_entity in player_logic.EVENT_ITEM_PAIRS.items(): | ||||
|             entity_or_region = event_item_and_entity[1] | ||||
| @@ -126,13 +127,13 @@ class WitnessPlayerRegions: | ||||
|                 if region is None: | ||||
|                     region_name = "Entry" | ||||
|                 else: | ||||
|                     region_name = region["name"] | ||||
|                     region_name = region.name | ||||
|                 order = self.reference_logic.ENTITIES_BY_HEX[entity_or_region]["order"] | ||||
|             event_locations_per_region[region_name][event_location] = order | ||||
|  | ||||
|         for region_name, region in regions_to_create.items(): | ||||
|             location_entities_for_this_region = [ | ||||
|                 self.reference_logic.ENTITIES_BY_HEX[entity] for entity in region["entities"] | ||||
|                 self.reference_logic.ENTITIES_BY_HEX[entity] for entity in region.logical_entities | ||||
|             ] | ||||
|             locations_for_this_region = { | ||||
|                 entity["checkName"]: entity["order"] for entity in location_entities_for_this_region | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 NewSoupVi
					NewSoupVi