import json import db from .ensure_scene_schema import ensure_scene_schema def set_scene_object_role(slug, object_id, role): """Enregistre le rôle (joueur/ennemie/pnj, voir screens/rendering/personnage_role.py) d'un objet de scène kind="personnage" — un attribut DISTINCT de _personnage_data (choix du personnage) et _personnage_commandes (touches), pour ne jamais les écraser l'un l'autre à l'enregistrement (même raison que set_scene_object_commands.py).""" ensure_scene_schema(slug) conn = db.connect(slug) row = conn.execute("SELECT attributes FROM _scene_objects WHERE id = ?", (object_id,)).fetchone() if not row: conn.close() return attributes = json.loads(row["attributes"] or "{}") attributes["_personnage_role"] = role conn.execute("UPDATE _scene_objects SET attributes = ? WHERE id = ?", (json.dumps(attributes), object_id)) conn.commit() conn.close()