using UnityEngine;
using UnityEngine.AI;

public class NavNPCsSpawner : MonoBehaviour
{
    [SerializeField] private GameObject npcPrefab = null; // 生成するNPCのプレハブ
    [SerializeField] private int count = 100; // 生成するNPCの数
    [SerializeField] private Vector3 minSpawnRange = new Vector3(-20, 1, -20); // 生成範囲の最小値
    [SerializeField] private Vector3 maxSpawnRange = new Vector3(20, 1, 20); // 生成範囲の最大値

    private void Start()
    {
        SpawnNPCs(count);
    }

    private void SpawnNPCs(int count)
    {
        for (int i = 0; i < count; i++)
        {
            // ランダムな位置にNPCを生成
            Vector3 spawnPosition = new Vector3(Random.Range(minSpawnRange.x, maxSpawnRange.x),
                                                Random.Range(minSpawnRange.y, maxSpawnRange.y),
                                                Random.Range(minSpawnRange.z, maxSpawnRange.z));
            GameObject newNPC = Instantiate(npcPrefab, spawnPosition, Quaternion.identity);

            // Navmeshエージェントを追加して設定
//            NavMeshAgent agent = newNPC.AddComponent<NavMeshAgent>();
//            agent.speed = Random.Range(2f, 5f); // 移動速度をランダムに設定
//            agent.angularSpeed = 120; // 角速度を設定（必要に応じて変更）

            // NPCの外観や挙動を設定するコンポーネントを追加
            // 例えば、Animatorやスクリプトなどを追加してNPCの挙動を制御することができます。
        }
    }
}