API Reference

Exported Constants & Types

import { // Game IDs Enum GAME_IDS, // Default Settings DEFAULT_GAME_SETTINGS, // Games List & Mapping GAMES_LIST, GAMES_MAPPING, // TypeScript Types type GameSettings, type GameProps, type GameDefinition, type GameComponent, // All Game Components FruitNinja, CandyCrush, FlappyBird, ColorsSort, DinoJump, PopitFidget, WhackAMole, BalloonBlaster, SpaceFighter, MazeRunner, SlidingNumbers, Game2048, FruitMerger, Snake } from 'react-native-games';

GAME_IDS Enum

All available game identifiers:

GAME_IDS.FRUIT_NINJA // 'fruit-ninja' GAME_IDS.CANDY_CRUSH // 'candy-crush' GAME_IDS.FLAPPY_BIRD // 'flappy-bird' GAME_IDS.COLORS_SORT // 'colors-sort' GAME_IDS.DINO_JUMP // 'dino-jump' GAME_IDS.POPIT_FIDGET // 'popit-fidget' GAME_IDS.WHACK_A_MOLE // 'whack-a-mole' GAME_IDS.BALLOON_BLASTER // 'balloon-blaster' GAME_IDS.SPACE_FIGHTER // 'space-fighter' GAME_IDS.MAZE_RUNNER // 'maze-runner' GAME_IDS.SLIDING_NUMBERS // 'sliding-numbers' GAME_IDS.GAME_2048 // 'game-2048' GAME_IDS.FRUIT_MERGER // 'fruit-merger' GAME_IDS.SNAKE // 'snake'

DEFAULT_GAME_SETTINGS

Default configuration for all games:

const DEFAULT_GAME_SETTINGS = { isVisible: false, // Settings modal visibility difficulty: 'medium', // Game difficulty level enableSounds: true, // Audio feedback enabled enableHaptics: true, // Haptic feedback enabled offset: 0, // Top offset for notch/status bar }; // Example: Custom settings with offset const customSettings = { ...DEFAULT_GAME_SETTINGS, offset: 50, // Moves game elements 50px down from top };

GAMES_LIST

Array of all game definitions with metadata:

// GAMES_LIST is an array of GameDefinition objects GAMES_LIST.forEach(game => { console.log(game.id); // GAME_IDS enum value console.log(game.title); // Display title console.log(game.description); // Game description console.log(game.component); // React component }); // Example: Find a specific game const fruitNinja = GAMES_LIST.find(g => g.id === GAME_IDS.FRUIT_NINJA);

GAMES_MAPPING

Object mapping game IDs to their components:

// Access game component by ID const GameComponent = GAMES_MAPPING[GAME_IDS.FRUIT_NINJA]; // Render dynamically <GameComponent settings={settings} onSettingsChange={handleChange} />

TypeScript Types

// Game settings interface interface GameSettings { isVisible: boolean; // Settings modal visibility difficulty: 'easy' | 'medium' | 'hard'; enableSounds: boolean; // Audio feedback enableHaptics: boolean; // Haptic feedback offset?: number; // Optional padding from top (default: 0) } // Game component props interface GameProps { settings?: GameSettings; onSettingsChange?: (settings: GameSettings) => void; }