J'ai réalisé un script à la sauvage pour obtenir un résultat qui fonctionne assurement, le script est prévu pour six pions , alors ça fonctionne parfaitement sans aucun problème, cela dit je souhaiterais maintenant le compacter car j'imagine que ce genre de script présent dans la fonction Update n'est pas très recommandé.
Un exemple ou une orientation sur la façon de proçéder serait la bienvenue.
Mon script:
Code : Tout sélectionner
function Update ()
{
switch (cubeProvi)
{
case 0:
Destroy(instAnce_1);
Destroy(instAnce_2);
Destroy(instAnce_3);
Destroy(instAnce_4);
Destroy(instAnce_5);
Destroy(instAnce_6);
cube_1.GetComponent.<BoxCollider>().enabled = true;
cube_2.GetComponent.<BoxCollider>().enabled = true;
cube_3.GetComponent.<BoxCollider>().enabled = true;
cube_4.GetComponent.<BoxCollider>().enabled = true;
cube_5.GetComponent.<BoxCollider>().enabled = true;
cube_6.GetComponent.<BoxCollider>().enabled = true;
break;
case 1:
Destroy(instAnce_1);
Destroy(instAnce_2);
Destroy(instAnce_3);
Destroy(instAnce_4);
Destroy(instAnce_5);
Destroy(instAnce_6);
cube_1.GetComponent.<BoxCollider>().enabled = true;
cube_2.GetComponent.<BoxCollider>().enabled = false;
cube_3.GetComponent.<BoxCollider>().enabled = false;
cube_4.GetComponent.<BoxCollider>().enabled = false;
cube_5.GetComponent.<BoxCollider>().enabled = false;
cube_6.GetComponent.<BoxCollider>().enabled = false;
instAnce_2 = Instantiate(cubeProvi_2, cube_2.transform.position, transform.rotation);
instAnce_3 = Instantiate(cubeProvi_3, cube_3.transform.position, transform.rotation);
instAnce_4 = Instantiate(cubeProvi_4, cube_4.transform.position, transform.rotation);
instAnce_5 = Instantiate(cubeProvi_5, cube_5.transform.position, transform.rotation);
instAnce_6 = Instantiate(cubeProvi_6, cube_6.transform.position, transform.rotation);
break;
case 2:
Destroy(instAnce_1);
Destroy(instAnce_2);
Destroy(instAnce_3);
Destroy(instAnce_4);
Destroy(instAnce_5);
Destroy(instAnce_6);
cube_1.GetComponent.<BoxCollider>().enabled = false;
cube_2.GetComponent.<BoxCollider>().enabled = true;
cube_3.GetComponent.<BoxCollider>().enabled = false;
cube_4.GetComponent.<BoxCollider>().enabled = false;
cube_5.GetComponent.<BoxCollider>().enabled = false;
cube_6.GetComponent.<BoxCollider>().enabled = false;
instAnce_1 = Instantiate(cubeProvi_1, cube_1.transform.position, transform.rotation);
instAnce_3 = Instantiate(cubeProvi_3, cube_3.transform.position, transform.rotation);
instAnce_4 = Instantiate(cubeProvi_4, cube_4.transform.position, transform.rotation);
instAnce_5 = Instantiate(cubeProvi_5, cube_5.transform.position, transform.rotation);
instAnce_6 = Instantiate(cubeProvi_6, cube_6.transform.position, transform.rotation);
break;
case 3:
Destroy(instAnce_1);
Destroy(instAnce_2);
Destroy(instAnce_3);
Destroy(instAnce_4);
Destroy(instAnce_5);
Destroy(instAnce_6);
cube_1.GetComponent.<BoxCollider>().enabled = false;
cube_2.GetComponent.<BoxCollider>().enabled = false;
cube_3.GetComponent.<BoxCollider>().enabled = true;
cube_4.GetComponent.<BoxCollider>().enabled = false;
cube_5.GetComponent.<BoxCollider>().enabled = false;
cube_6.GetComponent.<BoxCollider>().enabled = false;
instAnce_1 = Instantiate(cubeProvi_1, cube_1.transform.position, transform.rotation);
instAnce_2 = Instantiate(cubeProvi_2, cube_2.transform.position, transform.rotation);
instAnce_4 = Instantiate(cubeProvi_4, cube_4.transform.position, transform.rotation);
instAnce_5 = Instantiate(cubeProvi_5, cube_5.transform.position, transform.rotation);
instAnce_6 = Instantiate(cubeProvi_6, cube_6.transform.position, transform.rotation);
break;
// etc ... jusqu'à case 6: