#!/bin/bash
# Script para compilar SevenX Engine para todas as plataformas

set -e

echo "🚀 SevenX Engine - Build Multiplataforma v0.2.8"
echo "================================================"

# Cores
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# Função para build
build_target() {
    local target=$1
    local name=$2
    
    echo -e "${YELLOW}📦 Compilando para $name...${NC}"
    
    if cargo build --release --target $target; then
        echo -e "${GREEN}✅ $name compilado com sucesso!${NC}"
        return 0
    else
        echo -e "${RED}❌ Erro ao compilar $name${NC}"
        return 1
    fi
}

# Verifica se o Rust está instalado
if ! command -v cargo &> /dev/null; then
    echo -e "${RED}❌ Rust não encontrado. Instale em https://rustup.rs${NC}"
    exit 1
fi

echo ""
echo "🔧 Instalando targets..."

# Adiciona targets
rustup target add x86_64-unknown-linux-gnu
rustup target add x86_64-pc-windows-gnu
rustup target add x86_64-apple-darwin
rustup target add aarch64-apple-darwin
rustup target add aarch64-linux-android
rustup target add armv7-linux-androideabi

echo ""
echo "🏗️  Iniciando builds..."
echo ""

# Desktop
build_target "x86_64-unknown-linux-gnu" "Linux x64"
build_target "x86_64-pc-windows-gnu" "Windows x64"
build_target "x86_64-apple-darwin" "macOS Intel"
build_target "aarch64-apple-darwin" "macOS Apple Silicon"

# Mobile
build_target "aarch64-linux-android" "Android ARM64"
build_target "armv7-linux-androideabi" "Android ARMv7"

echo ""
echo -e "${GREEN}✨ Builds concluídos!${NC}"
echo ""
echo "📦 Binários gerados em:"
echo "  - target/x86_64-unknown-linux-gnu/release/"
echo "  - target/x86_64-pc-windows-gnu/release/"
echo "  - target/x86_64-apple-darwin/release/"
echo "  - target/aarch64-apple-darwin/release/"
echo "  - target/aarch64-linux-android/release/"
echo "  - target/armv7-linux-androideabi/release/"
echo ""
echo "🎮 Para testar, execute:"
echo "  cargo run --example jogo_teste"
