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;
}