-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
41 lines (32 loc) · 1.04 KB
/
Copy pathmain.py
File metadata and controls
41 lines (32 loc) · 1.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
from ui.ui_controller import UIController
from game import game
import json
from pathlib import Path
from game.locales.i18n import I18n
from models.game_context import GameContext
from integrations.discord_presence import DiscordPresence
def load_discord_presence() -> DiscordPresence | None:
config_path = Path("config.json")
if not config_path.exists():
return None
with config_path.open("r", encoding="utf-8") as f:
data = json.load(f)
client_id = data.get("discord_client_id")
if not client_id:
return None
presence = DiscordPresence(client_id)
return presence
def main():
ctx = GameContext(
i18n=I18n(locale="en", fallback_locale="en")
)
game_ui = UIController(ctx=ctx, width=100, border_char="|", padding=1)
game_instance = game.Game(ui=game_ui, ctx=ctx)
discord = load_discord_presence()
if discord:
game_instance.discord_presence = discord
game_instance.run()
if discord:
discord.close()
if __name__ == "__main__":
main()