Vraiment sympa ton jeux du flubber.
Je ne l'ai pas testé mais regardé ta vidéo de présentation et les nombreux screen. Le style graphique est vraiment bien, minimaliste mais très efficace. De plus il est tres aboutis avec les menu, achat, progression..etc. chapeau a toi!
Pour ton code, même si j'ai bien conscience qu'il ne s’exécute pas 50 fois par seconde, L'emploi des GetComponent parait trop fréquente, surtout pour le même appel.
Tu devrais dès le départ de ta fonction stoker la valeurs de
SCORE.GetComponent<Script_Points>().DIFFIFCULTY, en plus d'optimiser le script, ça te le rendrait un peu plus lisible.
Pour ta seule fonction, cet appel est utilisé 5fois, pour chaque itération de
DIFFICULTY_LEVEL.Length. si t'as 100
DIFFICULTY_LEVEL, le getcomponent peut etre appelé 500 fois....
Je me doute que tu as très bien compris ce que je voulais dire, au cas ou, pour voir ce que ça donne en lisibilité/optimisation
Code : Tout sélectionner
public void PICK_JARS()
{
int CurentDifficulty = SCORE.GetComponent<Script_Points>().DIFFIFCULTY;
for (int i = 0; i < DIFFICULTY_LEVEL.Length; i++)
{
if (CurentDifficulty <= DIFFICULTY_LEVEL[i])
{
if (CurentDifficulty <= DIFFICULTY_LEVEL[0])
{
ID_BOX = CurentDifficulty - 1;
}
else
{
ID_BOX = (CurentDifficulty - ((DIFFICULTY_LEVEL[i - 1]) + 1)) + START_CHOICE_BOX[i];
}
//Set JARS
GameObject JAR;
JAR = Instantiate(BOX[ID_BOX], transform.position, Quaternion.identity) as GameObject;
JAR.GetComponent<Script_Jar_Random>().NUMBER_OF_BALL = NUMBER_OF_BALL[i];
JAR.transform.parent = BASE.transform;
return;
}
else if (i == (DIFFICULTY_LEVEL.Length - 1) && CurentDifficulty >= DIFFICULTY_LEVEL[i])
{
ID_BOX = 13;
//Set JARS
GameObject JAR;
JAR = Instantiate(BOX[ID_BOX], transform.position, Quaternion.identity) as GameObject;
JAR.GetComponent<Script_Jar_Random>().NUMBER_OF_BALL = 10;
JAR.transform.parent = BASE.transform;
return;
}
}
}
Voilà, c'est juste un petit point "technique" qu'il est bon de prendre pour habitude.