aboutsummaryrefslogtreecommitdiff
path: root/kennel/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'kennel/main.py')
-rw-r--r--kennel/main.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/kennel/main.py b/kennel/main.py
index 122e40a..17a143b 100644
--- a/kennel/main.py
+++ b/kennel/main.py
@@ -12,16 +12,16 @@ from fastapi.staticfiles import StaticFiles
from kennel.engine.systems.system import SystemType
from kennel.engine.systems.network import Event, Publishable, EventType
from typing import Annotated, Optional
-from .kennel import (
+from kennel.kennel import (
kennel,
system_manager,
entity_manager,
create_session_controllable_entities,
)
-from .app import app, templates, logger
-from .kennelcats import KennelCatService
-from .middleware import logger_middleware
-from .config import config
+from kennel.app import app, templates, logger
+from kennel.kennelcats import KennelCatService
+from kennel.middleware import logger_middleware
+from kennel.config import config
import asyncio
import uuid
@@ -85,6 +85,16 @@ async def websocket_endpoint(
await websocket.accept()
logger.info(f"Websocket connection established for session {session}")
+ await websocket.send_json(
+ {
+ "event_type": EventType.INITIAL_STATE,
+ "data": {
+ "world": {"width": config.WORLD_WIDTH, "height": config.WORLD_HEIGHT},
+ "entities": kennel.entity_manager.to_dict(),
+ },
+ }
+ )
+
session_entities = create_session_controllable_entities(session)
try:
network_system = system_manager.get_system(SystemType.NETWORK)