"""Extension points of the shared Unity/Naninovel reader for game-specific profiles.""" from __future__ import annotations from typing import Any class ReaderHooks: """Default hooks: a plain Naninovel game. Profiles subclass and override.""" def begin(self, package: Any, root: Any) -> None: """Called once before the Unity data is scanned.""" def accept_duplicate_script(self, name: str) -> bool: """Return True to keep the first copy of a script that appears twice with different content.""" return False def scan_object(self, package: Any, obj: Any, ctx: Any) -> bool: """Offer a Unity object to the profile. Return True when it was handled. ``ctx`` has ``root``, ``source``, ``media`` and ``codec()`` (lazily created script codec). """ return False