#pragma once

#include <array>
#include <cstdint>

#include "core/defaults.hpp"

// Punt polar (coordenades polars)
struct IPunt {
        float r;      // Radi
        float angle;  // Angle en radians
};

// Punt cartesià
struct Punt {
        float x, y;
};

// ==============================================================================
// DEPRECATED: Legacy types (replaced by Shape system)
// ==============================================================================
// These types are kept temporarily for chatarra_cosmica_ (Phase 10: explosions)
// TODO Phase 10: Replace with particle system or remove completely

// Nau (triangle) - DEPRECATED: Now using Shape system (ship.shp)
struct Triangle {
        IPunt p1, p2, p3;
        Punt centre;
        float angle;
        float velocitat;
};

// Polígon (enemics i bales) - DEPRECATED: Now using Shape system (.shp files)
struct Poligon {
        std::array<IPunt, Defaults::Entities::MAX_IPUNTS> ipuntx;
        Punt centre;
        float angle;
        float velocitat;
        uint8_t n;
        float drotacio;
        float rotacio;
        bool esta;
};
