Cache some MultiWorld properties
This commit is contained in:
parent
7d5b20ccfc
commit
a11e840d36
|
@ -153,23 +153,24 @@ class MultiWorld():
|
|||
def secure(self):
|
||||
self.random = secrets.SystemRandom()
|
||||
|
||||
@property
|
||||
@functools.cached_property
|
||||
def player_ids(self):
|
||||
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):
|
||||
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):
|
||||
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):
|
||||
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):
|
||||
yield from (player for player in range(1, self.players + 1) if self.game[player] == "Minecraft")
|
||||
|
||||
|
|
Loading…
Reference in New Issue