import { pokemonUtils } from "../utils/pokemonUtils.js";
import { slotDataManager } from "../utils/slotDataManager.js";
/**
 * Exemplo de uso do sistema de Pokémon atualizado
 *
 * Agora os dados de Pokémon incluem:
 * - typeId: ID do tipo do Pokémon (ex: "pr:charmander")
 * - name: Nome do Pokémon (ex: "Charmander")
 *
 * Isso permite:
 * - Renomear Pokémon mantendo o typeId original
 * - Spawnar corretamente usando o typeId
 * - Exibir o nome customizado
 */
export class PokemonDataExample {
    // Exemplo de captura de Pokémon
    static capturePokemonExample(player) {
        // Captura um Charmander
        const success = pokemonUtils.capturePokemon(player, "pr:charmander", 5);
        if (success) {
            console.log("Pokémon capturado com sucesso!");
            // Os dados salvos terão:
            // typeId: "pr:charmander"
            // name: "Charmander"
        }
    }
    // Exemplo de renomeação de Pokémon
    static renamePokemonExample(player) {
        // Renomeia o Pokémon no slot 0
        pokemonUtils.renamePokemon(player, 0, "Fogo");
        // Agora o Pokémon terá:
        // typeId: "pr:charmander" (mantém o original)
        // name: "Fogo" (nome customizado)
    }
    // Exemplo de spawn de Pokémon
    static spawnPokemonExample(player) {
        // Spawna o Pokémon do slot 0
        pokemonUtils.spawnPokemon(player, 0);
        // O Pokémon será spawnado usando o typeId
        // Mas exibirá o nome customizado no nameTag
    }
    // Exemplo de verificação de dados
    static checkPokemonDataExample(player) {
        const pokemonData = pokemonUtils.getPokemonFromSlot(player, 0);
        if (pokemonData) {
            console.log(`Type ID: ${pokemonData.typeId}`); // "pr:charmander"
            console.log(`Name: ${pokemonData.name}`); // "Charmander" ou nome customizado
            console.log(`Level: ${pokemonData.level}`);
            console.log(`Health: ${pokemonData.health}`);
        }
    }
    // Exemplo de criação manual de dados
    static createCustomPokemonExample(player) {
        const customPokemonData = pokemonUtils.createPokemonSlotData("pr:pikachu", // typeId
        10, // level
        "Raio" // nome customizado
        );
        if (customPokemonData) {
            // Adiciona ao primeiro slot vazio usando o slotDataManager
            const success = slotDataManager.addPokemonToSlot(player, customPokemonData);
            console.log(`Pokémon customizado adicionado: ${success}`);
        }
    }
}
