Fill: Cache get_all_State
This commit is contained in:
		
							parent
							
								
									cc458ca5b1
								
							
						
					
					
						commit
						95350a1fa9
					
				| 
						 | 
				
			
			@ -197,7 +197,6 @@ class MultiWorld():
 | 
			
		|||
            self._recache()
 | 
			
		||||
            return self._region_cache[player][regionname]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def get_entrance(self, entrance: str, player: int) -> Entrance:
 | 
			
		||||
        try:
 | 
			
		||||
            return self._entrance_cache[entrance, player]
 | 
			
		||||
| 
						 | 
				
			
			@ -205,7 +204,6 @@ class MultiWorld():
 | 
			
		|||
            self._recache()
 | 
			
		||||
            return self._entrance_cache[entrance, player]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def get_location(self, location: str, player: int) -> Location:
 | 
			
		||||
        try:
 | 
			
		||||
            return self._location_cache[location, player]
 | 
			
		||||
| 
						 | 
				
			
			@ -213,15 +211,18 @@ class MultiWorld():
 | 
			
		|||
            self._recache()
 | 
			
		||||
            return self._location_cache[location, player]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def get_dungeon(self, dungeonname: str, player: int) -> Dungeon:
 | 
			
		||||
        for dungeon in self.dungeons:
 | 
			
		||||
            if dungeon.name == dungeonname and dungeon.player == player:
 | 
			
		||||
                return dungeon
 | 
			
		||||
        raise KeyError('No such dungeon %s for player %d' % (dungeonname, player))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def get_all_state(self, keys=False) -> CollectionState:
 | 
			
		||||
        key = f"_all_state_{keys}"
 | 
			
		||||
        cached = getattr(self, key, None)
 | 
			
		||||
        if cached:
 | 
			
		||||
            return cached.copy()
 | 
			
		||||
 | 
			
		||||
        ret = CollectionState(self)
 | 
			
		||||
 | 
			
		||||
        for item in self.itempool:
 | 
			
		||||
| 
						 | 
				
			
			@ -246,6 +247,7 @@ class MultiWorld():
 | 
			
		|||
                        p):
 | 
			
		||||
                    world.collect(ret, item)
 | 
			
		||||
        ret.sweep_for_events()
 | 
			
		||||
        setattr(self, key, ret)
 | 
			
		||||
        return ret
 | 
			
		||||
 | 
			
		||||
    def get_items(self) -> list:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										15
									
								
								Main.py
								
								
								
								
							
							
						
						
									
										15
									
								
								Main.py
								
								
								
								
							| 
						 | 
				
			
			@ -271,13 +271,14 @@ def main(args, seed=None):
 | 
			
		|||
 | 
			
		||||
        world.spoiler.hashes[(player, team)] = get_hash_string(rom.hash)
 | 
			
		||||
 | 
			
		||||
        palettes_options = {}
 | 
			
		||||
        palettes_options['dungeon'] = args.uw_palettes[player]
 | 
			
		||||
        palettes_options['overworld'] = args.ow_palettes[player]
 | 
			
		||||
        palettes_options['hud'] = args.hud_palettes[player]
 | 
			
		||||
        palettes_options['sword'] = args.sword_palettes[player]
 | 
			
		||||
        palettes_options['shield'] = args.shield_palettes[player]
 | 
			
		||||
        palettes_options['link'] = args.link_palettes[player]
 | 
			
		||||
        palettes_options = {
 | 
			
		||||
            'dungeon': args.uw_palettes[player],
 | 
			
		||||
            'overworld': args.ow_palettes[player],
 | 
			
		||||
            'hud': args.hud_palettes[player],
 | 
			
		||||
            'sword': args.sword_palettes[player],
 | 
			
		||||
            'shield': args.shield_palettes[player],
 | 
			
		||||
            'link': args.link_palettes[player]
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        apply_rom_settings(rom, args.heartbeep[player], args.heartcolor[player], args.quickswap[player],
 | 
			
		||||
                           args.fastmenu[player], args.disablemusic[player], args.sprite[player],
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue