// 游戏类型
export enum GameType {
  TURTLE_SOUP = 'turtle-soup',
  RIDDLE = 'riddle',
  MURDER_MYSTERY = 'murder-mystery',
  WORD_GAME = 'word-game',
}

// 游戏主题
export enum GameTheme {
  CLASSIC = 'classic',
  UNIVERSAL_STUDIOS = 'universal-studios',
  DISNEY = 'disney',
  FANTASY = 'fantasy',
}

// 游戏难度
export enum GameDifficulty {
  EASY = 'easy',
  MEDIUM = 'medium',
  HARD = 'hard',
}

// 房间状态
export enum RoomStatus {
  WAITING = 'waiting',
  PLAYING = 'playing',
  ENDED = 'ended',
}

// 玩家角色
export enum PlayerRole {
  HOST = 'host',
  PLAYER = 'player',
}

// 玩家状态
export enum PlayerStatus {
  ONLINE = 'online',
  OFFLINE = 'offline',
}

// 游戏状态
export enum GameStatus {
  WAITING = 'waiting',
  PLAYING = 'playing',
  REVEALING = 'revealing',
  COMPLETED = 'completed',
}

// 本地存储键
export enum StorageKey {
  USER_INFO = 'user_info',
  TOKEN = 'token',
  ROOM_INFO = 'room_info',
  HISTORY = 'history',
}

// API路径
export enum ApiPath {
  LOGIN = '/login',
  GAMES = '/games',
  ROOMS = '/rooms',
  USERS = '/users',
}

// 错误码
export enum ErrorCode {
  NETWORK_ERROR = 1000,
  NOT_FOUND = 1001,
  SERVER_ERROR = 1002,
  UNAUTHORIZED = 1003,
  INVALID_PARAMS = 1004,
}

// 错误消息
export const ErrorMessage = {
  [ErrorCode.NETWORK_ERROR]: '网络错误，请检查网络连接',
  [ErrorCode.NOT_FOUND]: '资源不存在',
  [ErrorCode.SERVER_ERROR]: '服务器错误',
  [ErrorCode.UNAUTHORIZED]: '未授权或登录已过期',
  [ErrorCode.INVALID_PARAMS]: '参数错误',
}

// 付费点类型
export enum PremiumFeatureType {
  THEME = 'theme',
  TOOL = 'tool',
}

// 海龟汤线索类型
export enum ClueType {
  TEXT = 'text',
  IMAGE = 'image',
  AUDIO = 'audio',
}

// 游戏分类
export const GameCategories = [
  { id: 'puzzle', name: '解谜' },
  { id: 'social', name: '社交' },
  { id: 'knowledge', name: '知识' },
  { id: 'adventure', name: '冒险' },
]

// 最大玩家数限制
export const MAX_PLAYERS = 10;

// 默认头像URL
export const DEFAULT_AVATAR = 'https://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTIYf8ObO0OZeJXfI7uu9wR9LM1KUOiaRvnY9Njq2GVNNw96BvKQibUu7IQx84ENGqkWZnIf43vTyYMA/132';

// 每个玩家最大创建房间数
export const MAX_CREATED_ROOMS = 5;

// 房间码长度
export const ROOM_CODE_LENGTH = 6; 