Beispiel #1
0
    // 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;
         }
     }
 }