课时7 创建敌人生成器
创建多种不同类型的敌人
敌人一波一波的生成,针对每一波生成需要的属性,进行定义
[System.Serializable] //表示可以序列化
public class Wawe()//只保存每波敌人的属性不继承于Monodevelop
{
public GameObject enemyPrefab;//敌人的类型
public int count;//敌人的数量
public float rate;//等待时间
}
创建敌人管理器
EnemyManager()
{
public Transform start;//生成的开始位置
public Wawe[] wawes;//多少波敌人的数组
void Start()
{
startCoroutine(ManageEnemy());//在start函数中启动协程
}
IEnumberator ManageEnemy()
{
foreach(Wawe wawe in waves)
{
for (int i = 0;i<wawe.count;i++)
{
GameObject.Instantiate(wave.enemyPrefab,start.position,Quaternion.identity);
if(i != wave.count-1)
yield return new WaitForSeconds(wave.rate);//如果他不是最后一个才进行暂停
}
yield return new WaitForSeconds(3.0f);//每生成一波之后暂停一下
}
}
}