from __future__ import annotations from pathlib import Path IMAGE_DIR = Path(__file__).resolve().parent / "image" def _candidate_path(name: str | None) -> Path | None: if not name: return None candidate = IMAGE_DIR / f"{name}.png" if candidate.exists(): return candidate return None def get_scene_image_path(game_state, focus_npc: str | None = None) -> str | None: npc_candidate = _candidate_path(focus_npc) if npc_candidate is not None: return str(npc_candidate) for name in ( getattr(game_state.world, "current_scene", None), getattr(game_state.player, "location", None), ): scene_candidate = _candidate_path(name) if scene_candidate is not None: return str(scene_candidate) return None