Cache some MultiWorld properties
This commit is contained in:
		
							parent
							
								
									7d5b20ccfc
								
							
						
					
					
						commit
						a11e840d36
					
				| 
						 | 
					@ -153,23 +153,24 @@ class MultiWorld():
 | 
				
			||||||
    def secure(self):
 | 
					    def secure(self):
 | 
				
			||||||
        self.random = secrets.SystemRandom()
 | 
					        self.random = secrets.SystemRandom()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @property
 | 
					    @functools.cached_property
 | 
				
			||||||
    def player_ids(self):
 | 
					    def player_ids(self):
 | 
				
			||||||
        yield from range(1, self.players + 1)
 | 
					        yield from range(1, self.players + 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @property
 | 
					    # Todo: make these automatic, or something like get_players_for_game(game_name)
 | 
				
			||||||
 | 
					    @functools.cached_property
 | 
				
			||||||
    def alttp_player_ids(self):
 | 
					    def alttp_player_ids(self):
 | 
				
			||||||
        yield from (player for player in range(1, self.players + 1) if self.game[player] == "A Link to the Past")
 | 
					        yield from (player for player in range(1, self.players + 1) if self.game[player] == "A Link to the Past")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @property
 | 
					    @functools.cached_property
 | 
				
			||||||
    def hk_player_ids(self):
 | 
					    def hk_player_ids(self):
 | 
				
			||||||
        yield from (player for player in range(1, self.players + 1) if self.game[player] == "Hollow Knight")
 | 
					        yield from (player for player in range(1, self.players + 1) if self.game[player] == "Hollow Knight")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @property
 | 
					    @functools.cached_property
 | 
				
			||||||
    def factorio_player_ids(self):
 | 
					    def factorio_player_ids(self):
 | 
				
			||||||
        yield from (player for player in range(1, self.players + 1) if self.game[player] == "Factorio")
 | 
					        yield from (player for player in range(1, self.players + 1) if self.game[player] == "Factorio")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @property
 | 
					    @functools.cached_property
 | 
				
			||||||
    def minecraft_player_ids(self):
 | 
					    def minecraft_player_ids(self):
 | 
				
			||||||
        yield from (player for player in range(1, self.players + 1) if self.game[player] == "Minecraft")
 | 
					        yield from (player for player in range(1, self.players + 1) if self.game[player] == "Minecraft")
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue