private static void ApplyEffect(Effect effect)
        {
            float timeScale = 1f;

            switch (effect)
            {
            case Effect.Tutorial_WaitingForFirstAttack:
            case Effect.Tutorial_WaitingForComboWindow:
            case Effect.TutorialVillage_WaitingForSetupWaypoint:
            case Effect.Hero_Intro:
            case Effect.Window_GameMenu:
            case Effect.Window_Map:
            case Effect.SecondChance:
                timeScale = 0f;
                break;

            case Effect.Combo_SuperSelf:
                timeScale = .3f;
                break;

            case Effect.SecondChance_AfterEffect:
                timeScale = .1f;
                break;

            case Effect.SecondChance_AfterEffect_2:
                timeScale = .3f;
                break;

            case Effect.SecondChance_AfterEffect_3:
                timeScale = .6f;
                break;

            case Effect.Combo_Slowdown:
                timeScale = .1f;
                break;

            case Effect.Player_Dead:
                timeScale = 5f;
                break;
            }
            if (timeScale == 0f)
            {
                //GameHandler.FootstepsSoundPause();
            }
            else
            {
                //GameHandler.FootstepsSoundResume();
            }
            V_TimeScaleManager.timeScale = timeScale;

            V_Object.SetAllDeltaTimeModifier(timeScale);
        }
 private static void UpdateTimeScale()
 {
     // Get highest priority effect
     if (activeEffectsList.Count <= 0)
     {
         // No effects
         //Debug.Log("TimeScale Effect: "+"None"+", "+"1");
         //GameHandler.FootstepsSoundResume();
         timeScale = 1f;
         V_Object.SetAllDeltaTimeModifier(timeScale);
     }
     else
     {
         // Sort by priority
         for (int i = 0; i < activeEffectsList.Count; i++)
         {
             for (int j = i + 1; j < activeEffectsList.Count; j++)
             {
                 if (GetEffectPriority(activeEffectsList[j]) > GetEffectPriority(activeEffectsList[i]))
                 {
                     Effect tmp = activeEffectsList[i];
                     activeEffectsList[i] = activeEffectsList[j];
                     activeEffectsList[j] = tmp;
                 }
             }
         }
         ApplyEffect(activeEffectsList[0]);
     }
     // Update individual time
     foreach (TimeType en in System.Enum.GetValues(typeof(TimeType)))
     {
         deltaTimeModifierDic[en] = 1f;
     }
     if (HasEffect(Effect.Hero_Intro) || HasEffect(Effect.Window_GameMenu) || HasEffect(Effect.Window_Map))
     {
         deltaTimeModifierDic[TimeType.Combo_SuperSelfTimer] = 0f;
         deltaTimeModifierDic[TimeType.Combo_RefreshTimer]   = 0f;
     }
     if (HasEffect(Effect.Window_GameMenu) || HasEffect(Effect.Window_Map))
     {
         deltaTimeModifierDic[TimeType.Hero_Intro] = 0f;
     }
 }