using UnityEngine;

// 多数のボイドを発生させて管理するクラスを表します。
public class StopTargetSpawner : MonoBehaviour
{
    // 生成するボイドのプレハブを指定します。
    [SerializeField]
    private GameObject StaticTarget = null;
    // 生成するボイドの数を指定します。
    [SerializeField]
    private int count = 100;
    // ボイドを生成する立方体の最小値を指定します。
    [SerializeField]
    private Vector3 minSpawnRange = new Vector3(0, 1, 0);
    // ボイドを生成する立方体の最大値を指定します。
    [SerializeField]
    private Vector3 maxSpawnRange = new Vector3(250, 1, 200);

    // Start is called before the first frame update
    void Start()
    {
        Spawn(count);
    }

    // 指定した数のボイドを生成します。
private void Spawn(int count)
{
    Vector3 position = Vector3.zero;
    for (int index = 0; index < count; index++)
    {
        var StaticEnemy = Instantiate(StaticTarget, transform);
        position.x = Random.Range(minSpawnRange.x, maxSpawnRange.x);
        position.y = Random.Range(minSpawnRange.y, maxSpawnRange.y);
        position.z = Random.Range(minSpawnRange.z, maxSpawnRange.z);
        StaticEnemy.transform.position = position;

        // Rigidbodyコンポーネントに初速度を加える
        Rigidbody rb = StaticEnemy.GetComponent<Rigidbody>();
        StaticEnemy.transform.rotation = Quaternion.Euler(0, Random.Range(0f, 360.0f), 0);
    }
}
}
