En esta sección iré añadiendo código de algún script en C# que creo puede ser interesante para utilizar juegos. En algunos casos son scripts que he recuperado de internet de alguien que ha resuelto algún problema.
public class instanciaFichas : MonoBehaviour
{
public int cuantasFichas = 0; //Aquí declaramos una variable pública para que se vea en el inspector y luego podamos cambiar su valor desde allí todas la veces que queramos.
public GameObject ficha; //Desde el inspector asignaremos aquí el prefab de la ficha que ya hemos creado previamente.
void instancia() //Esta será nuestra función. Void porque no devuelve nada solo ejecuta algo.
{
for (int i = 0; i < cuantasFichas; i++) //Bucle que crea las fichas
{
Vector3 nuevaPosicion; //Declaramos una nueva variable para darle una posición a la ficha
nuevaPosicion = new Vector3(ficha.transform.position.x + ((i - cuantasFichas / 2.0f) * 100), ficha.transform.position.y, ficha.transform.position.z); //Hallamos su nueva posición. Pretendo separar cada ficha para queno quede una encima de la otra.
GameObject nuevaFicha = (GameObject)Instantiate(ficha, newPosition, Quaternion.identity); //Declaramos una nueva varible que va a contener la nueva ficha. La instanciamos a partir del prefab que hemos asignado en el inspector. Le asignamos la nueva posición.
nuevaFicha.name = "Ficha" + (i + 1); //Le cambiamos el nombre de la ficha
nuevaFicha.transform.SetParent(GameObject.Find("Canvas").transform); //Para que se vea la ficha dentro de un canvas la ponemos dentro de este.
}
}
}