<?php
require_once "../connection.php";
header("Content-Type: application/json");

$player_code = $_POST['player_code'] ?? null;
$target_id   = $_POST['target_id'] ?? null;
$time        = intval($_POST['time'] ?? 0);

if (!$player_code) {
    echo json_encode(["success" => false, "message" => "No player_code"]);
    exit;
}

/* ===== หา player ที่กำลังแข่ง ===== */
$stmt = $conn->prepare("SELECT id FROM players WHERE code=? AND status='running' LIMIT 1");
$stmt->bind_param("s", $player_code);
$stmt->execute();
$player = $stmt->get_result()->fetch_assoc();

if (!$player) {
    echo json_encode(["success" => false, "message" => "No running player"]);
    exit;
}

$player_id = $player['id'];

/* ===== ดึง target_count จาก event ===== */
$event = $conn->query("SELECT target_count FROM event LIMIT 1")->fetch_assoc();
$target_count = (int)$event['target_count'];

/* ===== นับจำนวนเป้าที่ player ยิงแล้ว ===== */
$count = $conn->query("SELECT COUNT(*) AS total FROM target_log WHERE player_id=$player_id")->fetch_assoc()['total'];

/* ===== ตรวจสอบก่อน insert ===== */
if ($target_id && $target_id !== "0" && $count < $target_count) {
    $check = $conn->prepare("SELECT id FROM target_log WHERE player_id=? AND target_id=?");
    $check->bind_param("is", $player_id, $target_id);
    $check->execute();

    if ($check->get_result()->num_rows == 0) {
        $insert = $conn->prepare("INSERT INTO target_log (player_id, target_id, hit_time) VALUES (?, ?, NOW())");
        $insert->bind_param("is", $player_id, $target_id);
        $insert->execute();
        $count++; // เพิ่ม count หลัง insert
    }
}

/* ===== อัปเดตเวลา ===== */
$update = $conn->prepare("UPDATE players SET time=? WHERE id=?");
$update->bind_param("ii", $time, $player_id);
$update->execute();

/* ===== ถ้ายิงครบ ===== */
if ($count >= $target_count) {
    // ปิดการแข่งขันคนปัจจุบัน
    $conn->query("UPDATE players SET status='finished' WHERE id=$player_id");

    // ตั้งคนถัดไปเป็น ready
    $conn->query("UPDATE players SET status='ready' WHERE status='waiting' ORDER BY id ASC LIMIT 1");
}

echo json_encode([
    "success" => true,
    "player" => $player_code,
    "time" => $time,
    "hit" => $count,
    "target_count" => $target_count
]);
