Np.
if (get_user_team(player) == TEAM_T) { //...kod } else if (get_user_team(player) == TEAM_CT) { //...kod } else if (get_user_team(player) == TEAM_SPECTATOR) { //...kod }
Taki przykład kodu zużywa więcej procesora - dlaczego? Ponieważ za każdym razem kiedy stawiany jest warunek if(..) wywoływana jest funkcja get_user_team(player).
W użyciu wygląda to mniej więcej tak:
Wywołanie get_user_team Porównaj drużyne usera do tej która jest postawiona w Ifie, jeżeli jest prawdziwa - wykonaj kod Wywołanie get_user_team Porównaj drużyne usera do tej która jest postawiona w Ifie, jeżeli jest prawdziwa - wykonaj kod Wywołanie get_user_team Porównaj drużyne usera do tej która jest postawiona w Ifie, jeżeli jest prawdziwa - wykonaj kod
Można to zmienić na:
new team = get_user_team(player) if (team == TEAM_T) { //...kod } else if (team == TEAM_CT) { //...kod } else if (team == TEAM_SPECTATOR) { //...kod }
Teraz będzie to wyglądało mniej więcej tak:
Wywołanie get_user_team Porównaj drużyne usera do tej która jest postawiona w Ifie, jeżeli jest prawdziwa - wykonaj kod Porównaj drużyne usera do tej która jest postawiona w Ifie, jeżeli jest prawdziwa - wykonaj kod itd.
Zamiast if można też użyć przełącznika switch, będzie to najlepsze rozwiązanie:
new team = get_user_team(player) switch (team) { case TEAM_T: //kod... case TEAM_CT: //kod... case TEAM_SPECTATOR: //kod... }
Będzie to wyglądało tak:
Wywołaj get_user_team Wykonaj kod Wykonaj kod Wykonaj kod