public static void RemoveTimeScaleCoef(TimeScaleCoef _timeScaleCoef)
    {
        TimeScaleCoef timeScaleCoef = _timeScaleCoef;

        for (int i = 0; i < currentTimeScaleCoefs.Count; i++)
        {
            if (currentTimeScaleCoefs[i].coefSource == timeScaleCoef.coefSource)
            {
                currentTimeScaleCoefs.RemoveAt(i);
                break;
            }
        }

        UpdateGameTimeScale();
    }
    public static void UpdateTimeScaleCoef(TimeScaleCoef _timeScaleCoef)
    {
        TimeScaleCoef timeScaleCoef = _timeScaleCoef;

        foreach (TimeScaleCoef tsc in currentTimeScaleCoefs)
        {
            if (tsc.coefSource == timeScaleCoef.coefSource)
            {
                tsc.currentValue = timeScaleCoef.currentValue;
                break;
            }
        }

        UpdateGameTimeScale();
    }
    //Time scale

    public static void AddTimeScaleCoef(TimeScaleCoef _timeScaleCoef)
    {
        TimeScaleCoef timeScaleCoef = _timeScaleCoef;

        foreach (TimeScaleCoef tsc in currentTimeScaleCoefs)
        {
            if (tsc.coefSource == timeScaleCoef.coefSource)
            {
                return;
            }
        }

        TimeScaleCoef tmScCf = new TimeScaleCoef();

        tmScCf.coefSource   = timeScaleCoef.coefSource;
        tmScCf.currentValue = timeScaleCoef.currentValue;

        currentTimeScaleCoefs.Add(tmScCf);

        UpdateGameTimeScale();
    }