public IEnumerator EachEnemyWave(EnemyBornMsg bornMsg, int bornPointID, int bornPathID)
        {
            if (bornMsg.enemys.Count < 1)
            {
                yield break;
            }
            if (bornMsg.enemys.Count == 1)
            {
                GameObject enemy     = AssestManager.Instance.LoadEnemy(bornMsg.enemys[0].type);
                BaseEnemy  baseEnemy = enemy.GetComponent <BaseEnemy>();
                baseEnemy.PathID = bornPathID;
                for (int i = 0; i < bornMsg.enemys[0].num; i++)
                {
                    InstantiateEnemy(bornMsg.enemys[0].type, bornPointID, bornPathID);

                    Debug.Log($"1  intervalTime {bornMsg.intervalTime}");
                    yield return(new WaitForSeconds(bornMsg.intervalTime));
                }
            }
            else
            {
                for (int i = 0; i < bornMsg.enemys.Count; i++)
                {
                    EnemyDetail enemy = bornMsg.enemys[i];
                    StartCoroutine(YieldInstantiateEnemy(enemy.type, enemy.num, bornPointID, bornPathID));
                    Debug.Log($"2  intervalTime {bornMsg.intervalTime}");
                    yield return(new WaitForSeconds(bornMsg.intervalTime));
                }
            }
        }
        public IEnumerator EachBornPoint(SingleWavePointMsg bornPoint)
        {
            for (int j = 0; j < bornPoint.EnemyBornMsgs.Count; j++)
            {
                if (isRest)
                {
                    yield break;
                }

                EnemyBornMsg bornMsg = bornPoint.EnemyBornMsgs[j];
                Debug.Log($"{j}  watiTime {bornMsg.waitTime}");
                EnemyMgr.Instance.EnemyBorn(bornMsg, bornPoint.pathId);
                yield return(new WaitForSeconds(bornMsg.waitTime));

//                StartCoroutine(EachEnemyWave(bornMsg, bornPoint.pointId, bornPoint.pathId));
//
//                int bornPathID = ;
//                int bornPointID = bornPoint.pointId;
//                if(bornMsg.enemys.Count < 1)
//                    yield break;
//                if (bornMsg.enemys.Count == 1)
//                {
//                    GameObject enemy = AssestMgr.Instance.LoadEnemy(bornMsg.enemys[0].type);
//                    BaseEnemy baseEnemy = enemy.GetComponent<BaseEnemy>();
//                    baseEnemy.PathID = bornPathID;
//                    for (int i = 0; i < bornMsg.enemys[0].num; i++)
//                    {
//                        InstantiateEnemy(bornMsg.enemys[0].type, bornPointID, bornPathID);
//
//                        Debug.Log($"1  intervalTime {bornMsg.intervalTime}");
//                        yield return new WaitForSeconds(bornMsg.intervalTime);
//                    }
//                }
//                else
//                {
//                    for (int i = 0; i < bornMsg.enemys.Count; i++)
//                    {
//                        EnemyDetail enemy = bornMsg.enemys[i];
//                        StartCoroutine(YieldInstantiateEnemy(enemy.type,enemy.num, bornPointID, bornPathID));
//                        Debug.Log($"2  intervalTime {bornMsg.intervalTime}");
//                        yield return new WaitForSeconds(bornMsg.intervalTime);
//                    }
//                }
            }
        }