Qui peut me donner son avis.
Le script est pas mal, mais voici quelques détails si tu veux des axes d'amélioration :
- tu peux rajouter un header [RequireComponent(typeof(Rigidbody))]à la classe pour ne pas te prendre d'erreur sur le GetComponent du awake
- tu peux créer un Scriptable Object pour y mettre tous les paramètres (speedmax, etc.)
- tu peux mettre des Else if sur tes évaluations de forward amount pour éviter des évaluation inutiles de if qui seront toujours faux (et faciliter la lecture)
- tu peux factoriser les formules de calcul pour ne pas les répéter X fois (et donc avoir des risques d'erreurs en cas de changement, et également alléger la lecture)
- tu peux utiliser la fonction collision.gameObject.CompareTag("Zombie") à la place de collision.gameObject.tag == "Zombie" pour un gain de 28% de performance 
- tu fais plusieurs fois dans la même fonction collision.gameObject.GetComponent<Zombie>() , tu peux le stocker, GetComponent est assez couteux
Message édité le 25 mars 2021 à 11:05:35 par IndepGameDev