export enum EventType { INITIAL_STATE = "INITIAL_STATE", SET_CONTROLLABLE = "SET_CONTROLLABLE", ENTITY_BORN = "ENTITY_BORN", ENTITY_DEATH = "ENTITY_DEATH", ENTITY_POSITION_UPDATE = "ENTITY_POSITION_UPDATE", } export interface Event { event_type: EventType; data: any; } export interface InitialStateEvent extends Event { event_type: EventType.INITIAL_STATE; data: { world: { width: number; height: number }; entities: any[]; }; } export interface SetControllableEvent extends Event { event_type: EventType.SET_CONTROLLABLE; data: { id: string; client_id: string; }; }