'use client'; import { useState } from 'react'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Separator } from '@/components/ui/separator'; import { Switch } from '@/components/ui/switch'; import { Label } from '@/components/ui/label'; import { RotateCcw, AlertTriangle, Zap, Clock, Settings, Eye, } from 'lucide-react'; import { useDebug } from '@/lib/game/debug-context'; import { useGameStore, useManaStore, useUIStore, useCombatStore } from '@/lib/game/stores'; import { computeMaxMana } from '@/lib/game/stores'; export function GameStateDebug() { const [confirmReset, setConfirmReset] = useState(false); const { showComponentNames, toggleComponentNames } = useDebug(); // Get state from modular stores const rawMana = useManaStore((s) => s.rawMana); const elements = useManaStore((s) => s.elements); const unlockElement = useManaStore((s) => s.unlockElement); const gatherMana = useGameStore((s) => s.gatherMana); const day = useGameStore((s) => s.day); const hour = useGameStore((s) => s.hour); const paused = useUIStore((s) => s.paused); const togglePause = useUIStore((s) => s.togglePause); // Get actions from stores const resetGame = useGameStore((s) => s.resetGame); const setTime = useCombatStore((s) => s.debugSetTime); const setFloor = useCombatStore((s) => s.debugSetFloor); const resetHP = useCombatStore((s) => s.resetFloorHP); const handleReset = () => { if (confirmReset) { resetGame(); setConfirmReset(false); } else { setConfirmReset(true); setTimeout(() => setConfirmReset(false), 3000); } }; const handleAddMana = (amount: number) => { for (let i = 0; i < amount; i++) { gatherMana(); } }; const getMaxMana = () => { return computeMaxMana( { skills: {}, prestigeUpgrades: {}, skillUpgrades: {}, skillTiers: {} }, { maxManaBonus: 0, maxManaMultiplier: 1 } ); }; return (
These tools are for development and testing. Using them may break game balance or save data.
Display component names at the top of each component for debugging
Reset all game progress and start fresh. This cannot be undone.