import { Socket } from 'socket.io' import { Character } from '#entities/character' import { ZoneEventTile } from '#entities/zoneEventTile' import { ZoneEventTileTeleport } from '#entities/zoneEventTileTeleport' export type UUID = `${string}-${string}-${string}-${string}-${string}` export type TSocket = Socket & { userId?: number characterId?: number handshake?: { query?: { token?: any } } request?: { headers?: { cookie?: any } } } export type ExtendedCharacter = Character & { isMoving?: boolean resetMovement?: boolean } export type ZoneEventTileWithTeleport = ZoneEventTile & { teleport: ZoneEventTileTeleport } export type AssetData = { key: string data: string group: 'tiles' | 'objects' | 'sprites' | 'sprite_animations' | 'sound' | 'music' | 'ui' | 'font' | 'other' updatedAt: Date originX?: number originY?: number isAnimated?: boolean frameRate?: number frameWidth?: number frameHeight?: number frameRate?: number } export type WorldSettings = { date: Date isRainEnabled: boolean isFogEnabled: boolean fogDensity: number } // export type TCharacter = Socket & { // user?: User // character?: Character // }