void Update() { if (Input.GetButtonDown("Fire1")) { print("Fire1 down"); // Start charging attack charging = true; chargePercent = 0; chargeTime = 0; GUI.BarActive = true; } if (charging) { if (chargeTime > MaxCharge) { // Stop attacking - overcharged charging = false; GUI.ResetBar(); GUI.BarActive = false; } else { // Continue charging attack chargeTime += Time.deltaTime; //if (false) //{ // chargePercent = chargeTime; //} //else //{ chargePercent = ChargeSmoothing(chargeTime); //} float percent = chargePercent * 100; print("chargePercent: " + chargePercent + ", percent: " + percent + ", time: " + chargeTime); GUI.engagePercent = percent; } } if (Input.GetButtonUp("Fire1")) { print("Fire1 up"); // Release attack - hit if in a collider box GUI.ResetBar(); GUI.BarActive = false; if (charging) { if (hitableEnemies.Count > 0) { HitAccuracy ha = new HitAccuracy(); ha.Accuracy = chargePercent; ha.NumberOfHits = hitableEnemies.Count; print(ha.ToString()); GUI.HitList.Add(ha); foreach (GameObject enemy in hitableEnemies) { KillEnemy(enemy); } hitableEnemies.Clear(); } } charging = false; } }