// Update is called once per frame void Update() { if (charge > 100) { //stateController.SetStateDead(); } if (isCharging()) { charge += 0.75f * (1 - charge / 100f) * CHARGERATE * Time.deltaTime + 0.5f * CHARGERATE * Time.deltaTime; if (charge > 100) { charge = 100; } } else { charge -= DISCHARGERATE * Time.deltaTime; if (charge < 0) { charge = 0; } } meter.SetLength(charge); }
public void UpdateCharge() { if (IsCharging()) { float addCharge = CHARGERATE * Time.deltaTime; if (charge <= 100 && charge + addCharge > 100) { charge = 100; } else { charge += addCharge; } } else if (isGrounded) { charge -= DISCHARGERATE * Time.deltaTime; if (charge < 0) { charge = 0; } } meter.SetLength(charge); }