♻️ use entrypoint to load UI

This commit is contained in:
2026-07-26 15:24:44 +02:00
parent 732afb65c5
commit 7e26db26c7
+8 -2
View File
@@ -2,14 +2,17 @@ import argparse
import logging
import os
import sys
from typing import Any
from .console import UI
from .entrypoints import Entrypoints
from .level import Level
from .menu import Action
from .mob import BaseMob, load_character
logger = logging.getLogger(__name__)
# FIXME replace this global declaration
UI: Any = None
def play_room(room: list[BaseMob], level: Level) -> int:
if room is None:
@@ -55,12 +58,14 @@ def play_donjon(level: Level) -> None:
def app() -> None:
entrypoints = Entrypoints()
parser = argparse.ArgumentParser(
prog='elironwars',
description='elironwars CLI',
)
parser.add_argument('--player', default='Jamin')
parser.add_argument('--ui', default='cli')
parser.add_argument('--ui', default='console', choices=entrypoints.ui.names)
parser.add_argument('--log-level', default='ERROR')
args = parser.parse_args()
@@ -72,6 +77,7 @@ def app() -> None:
if not loaded_character:
sys.exit(-1)
UI = entrypoints.load_ui(args.ui)
UI.select_player(loaded_character)
# Créer des instances de BaseMob