Files
cultivation-world-simulator/src/classes/item.py
2025-09-11 23:21:06 +08:00

45 lines
975 B
Python

from dataclasses import dataclass
from src.utils.df import game_configs
from src.classes.cultivation import Realm
@dataclass
class Item:
"""
物品
"""
id: int
name: str
desc: str
realm: Realm
def __hash__(self) -> int:
return hash(self.id)
def __str__(self) -> str:
return self.name
def _load_items() -> tuple[dict[int, Item], dict[str, Item]]:
"""从配表加载item数据"""
items_by_id: dict[int, Item] = {}
items_by_name: dict[str, Item] = {}
item_df = game_configs["item"]
for _, row in item_df.iterrows():
item = Item(
id=int(row["id"]),
name=str(row["name"]),
desc=str(row["desc"]),
realm=Realm.from_id(int(row["stage_id"]))
)
items_by_id[item.id] = item
items_by_name[item.name] = item
return items_by_id, items_by_name
# 从配表加载item数据
items_by_id, items_by_name = _load_items()