Files
cultivation-world-simulator/src/classes/world.py
2025-10-24 23:50:05 +08:00

32 lines
1.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from dataclasses import dataclass, field
from typing import TYPE_CHECKING
from src.classes.map import Map
from src.classes.calendar import Year, Month, MonthStamp
from src.classes.avatar_manager import AvatarManager
from src.classes.event_manager import EventManager
if TYPE_CHECKING:
from src.classes.avatar import Avatar
@dataclass
class World():
map: Map
month_stamp: MonthStamp
avatar_manager: AvatarManager = field(default_factory=AvatarManager)
# 全局事件管理器
event_manager: EventManager = field(default_factory=EventManager)
def get_info(self, detailed: bool = False) -> dict:
"""
返回世界信息dict其中包含地图信息dict
"""
map_info = self.map.get_info(detailed=detailed)
return map_info
def get_avatars_in_same_region(self, avatar: "Avatar"):
return self.avatar_manager.get_avatars_in_same_region(avatar)
def get_observable_avatars(self, avatar: "Avatar"):
return self.avatar_manager.get_observable_avatars(avatar)