积分抽奖更新奖池模式
This commit is contained in:
@@ -2,8 +2,8 @@ from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
from enum import Enum
|
||||
from typing import Dict, List, Optional, Sequence, override
|
||||
|
||||
from PWF.Convention.Runtime.Config import *
|
||||
from PWF.Convention.Runtime.Architecture import Architecture
|
||||
from PWF.Convention.Runtime.GlobalConfig import ConsoleFrontColor, ProjectConfig
|
||||
from PWF.CoreModules.database import get_db
|
||||
@@ -174,6 +174,28 @@ class WPSBackpackSystem(WPSAPI):
|
||||
return ()
|
||||
return tuple(self._item_cache.values())
|
||||
|
||||
def get_items_by_tier(
|
||||
self,
|
||||
tier: BackpackItemTier,
|
||||
*,
|
||||
blacklist: Optional[Collection[str]] = None,
|
||||
) -> List[BackpackItemDefinition]:
|
||||
normalized_blacklist: Set[str] = set()
|
||||
if blacklist:
|
||||
normalized_blacklist = {
|
||||
str(item_id).strip().lower()
|
||||
for item_id in blacklist
|
||||
if str(item_id).strip()
|
||||
}
|
||||
items: List[BackpackItemDefinition] = []
|
||||
for definition in self._iter_registered_items():
|
||||
if definition.tier != tier:
|
||||
continue
|
||||
if normalized_blacklist and definition.item_id.lower() in normalized_blacklist:
|
||||
continue
|
||||
items.append(definition)
|
||||
return items
|
||||
|
||||
def collect_additional_sections(self) -> Sequence[GuideSection]:
|
||||
sections = list(super().collect_additional_sections())
|
||||
item_entries: List[GuideEntry] = []
|
||||
|
||||
Reference in New Issue
Block a user