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