// Update is called once per frame void Update() { if (Target == null) { return; } Level.value = Target.GetCurrentIndex() + 1; Level.maxValue = Target.Levels.Length; OverdriveState state = Target.GetState(); if (state == OverdriveState.Available) { SliderFill.color = NormalState; Button.sprite = NormalSprite; } else if (state == OverdriveState.InProgress) { SliderFill.color = OverdrivenState; Button.sprite = InProgressSprite; } else if (state == OverdriveState.Unavailable) { SliderFill.color = CrippledState; Button.sprite = UnAvailableSprite; Level.value = 0; } }
public bool TryOverdrive() { if (_State == OverdriveState.Available) { _ApplyOverdrive(); StartCoroutine(_countDown(OverdriveDuration)); _State = OverdriveState.InProgress; return(true); } return(false); }
private void _EndOverdrive() { _State = OverdriveState.Available; if (_LastLevelMode == OverdriveMode.Level) { PrevLevel(); CurrentLevel.Mode = OverdriveMode.Multiplier; } else if (_LastLevelMode == OverdriveMode.Multiplier) { CurrentLevel.Normalize(); if (CanPrevLevel) { PrevLevel(); } else { CurrentLevel.Cripple(); _State = OverdriveState.Unavailable; } } }