♻️ use entrypoint to load UI
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user