using UnityEngine;

public class PlatformSpawner : MonoBehaviour
{
    [Header("Platform Settings")]
    public GameObject platformPrefab; // Prefab of the platform to instantiate
    public int numberOfPlayers = 2;   // Number of players (n)
    public float planeRadius = 10f;  // Radius of the circular plane

    private void Start()
    {
        if (platformPrefab == null)
        {
            Debug.LogError("Platform Prefab is not assigned!");
            return;
        }

        SpawnPlatforms();
    }

    private void SpawnPlatforms()
    {
        int platformsToSpawn = numberOfPlayers - 1;

        if (platformsToSpawn <= 0)
        {
            Debug.LogWarning("Not enough players to spawn platforms.");
            return;
        }

        float angleIncrement = 360f / platformsToSpawn; // Divide the circle into equal segments

        for (int i = 0; i < platformsToSpawn; i++)
        {
            // Calculate angle in radians
            float angle = i * angleIncrement * Mathf.Deg2Rad;

            // Determine the position on the circular plane
            Vector3 position = new Vector3(
                Mathf.Cos(angle) * planeRadius,
                0f, // Assume the circular plane is on the XZ plane
                Mathf.Sin(angle) * planeRadius
            );

            // Instantiate the platform
            Instantiate(platformPrefab, position, Quaternion.identity);
        }

        Debug.Log($"Spawned {platformsToSpawn} platforms on a circular plane.");
    }
}