void Update() { //regola la velocita' massima di movimento if (Mathf.Abs(rg.velocity.x) > velocitaMassima) { rg.velocity = new Vector2(velocitaMassima, rg.velocity.y); } else { rg.velocity = new Vector2(dir.x, rg.velocity.y); } if (rg.velocity.y < velocitaDiscesa) { rg.velocity = new Vector2(rg.velocity.x, velocitaDiscesa); } //controlla se il personaggio ha incontrato il terreno durante la discesa if (Mathf.Abs(rg.velocity.y) < 0.000001f) { isJumping = false; hover.FineFluttuata(); hover.RicaricaFluttuata(); if (prevVel < velocitaVibrazione) { prevVel = 0; UIManager.istanza.Danneggia(); } } else { isJumping = true; } //controlla il potere di fluttuata hover.Fluttua(); //controlla il potere di sparo minigun.Spara(GetDirection()); dash.Controlla(GetDirection()); //si salva la velocita con cui sta cadendo da usare alla prossima iterazione prevVel = Mathf.FloorToInt(rg.velocity.y); }