Dans cette seconde partie nous allons créer un générateur de vague.
La solution la plus simple pour créer une horde d’ alien serait de le faire manuellement, mais cette tache serait fastidieuse et si vous deviez modifier ensuite le nombre d’alien dans une ligne ; ça deviendrait vite l’enfer !!!
Voici le script Wave.cs de la vidéo (Pour plus d’explication sur ce script regardez la vidéo ci-dessus)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Wave : MonoBehaviour
{
public GameObject[] AlienType;
public float SpaceColumns = 2f, SpaceRows = 2f;
public int TotalAlienInLine = 6;
void Awake()
{
// Generation de la vague d'alien
for (int i = 0; i < AlienType.Length; i++) //boucle sur tous les elements du tableau
{
float posY = transform.position.y - (SpaceRow * i); //définition de la ligne (y)
for (int n = 0; n < TotalAlienInLine; n++) //boucle sur le nb d'alien à instancier
{
//definition de la position x de l'alien sur la ligne y.
Vector2 posX = new Vector2(transform.position.x + SpaceColumns * n, posY);
GameObject Go = Instantiate(AlienType[i].gameObject, posX, Quaternion.identity); //instantiation
Go.transform.SetParent(this.transform); //Objet enfant de Wave
Go.name = "Alien" +( n+1) + "-row:" + (i+1); //Définition du nom des aliens
}
}
}