Core: relax typing hints on has_all and has_any (#2462)
This commit is contained in:
parent
287a186ff6
commit
8ce073e355
|
@ -711,11 +711,11 @@ class CollectionState():
|
||||||
def has(self, item: str, player: int, count: int = 1) -> bool:
|
def has(self, item: str, player: int, count: int = 1) -> bool:
|
||||||
return self.prog_items[player][item] >= count
|
return self.prog_items[player][item] >= count
|
||||||
|
|
||||||
def has_all(self, items: Set[str], player: int) -> bool:
|
def has_all(self, items: Iterable[str], player: int) -> bool:
|
||||||
"""Returns True if each item name of items is in state at least once."""
|
"""Returns True if each item name of items is in state at least once."""
|
||||||
return all(self.prog_items[player][item] for item in items)
|
return all(self.prog_items[player][item] for item in items)
|
||||||
|
|
||||||
def has_any(self, items: Set[str], player: int) -> bool:
|
def has_any(self, items: Iterable[str], player: int) -> bool:
|
||||||
"""Returns True if at least one item name of items is in state at least once."""
|
"""Returns True if at least one item name of items is in state at least once."""
|
||||||
return any(self.prog_items[player][item] for item in items)
|
return any(self.prog_items[player][item] for item in items)
|
||||||
|
|
||||||
|
@ -724,16 +724,18 @@ class CollectionState():
|
||||||
|
|
||||||
def has_group(self, item_name_group: str, player: int, count: int = 1) -> bool:
|
def has_group(self, item_name_group: str, player: int, count: int = 1) -> bool:
|
||||||
found: int = 0
|
found: int = 0
|
||||||
|
player_prog_items = self.prog_items[player]
|
||||||
for item_name in self.multiworld.worlds[player].item_name_groups[item_name_group]:
|
for item_name in self.multiworld.worlds[player].item_name_groups[item_name_group]:
|
||||||
found += self.prog_items[player][item_name]
|
found += player_prog_items[item_name]
|
||||||
if found >= count:
|
if found >= count:
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def count_group(self, item_name_group: str, player: int) -> int:
|
def count_group(self, item_name_group: str, player: int) -> int:
|
||||||
found: int = 0
|
found: int = 0
|
||||||
|
player_prog_items = self.prog_items[player]
|
||||||
for item_name in self.multiworld.worlds[player].item_name_groups[item_name_group]:
|
for item_name in self.multiworld.worlds[player].item_name_groups[item_name_group]:
|
||||||
found += self.prog_items[player][item_name]
|
found += player_prog_items[item_name]
|
||||||
return found
|
return found
|
||||||
|
|
||||||
def item_count(self, item: str, player: int) -> int:
|
def item_count(self, item: str, player: int) -> int:
|
||||||
|
|
Loading…
Reference in New Issue