public void SetFloatParameter(Hv_Enemies_AudioLib.Parameter param, float x)
    {
        switch (param)
        {
        case Parameter.Delaylevel: {
            x          = Mathf.Clamp(x, 0.0f, 1.0f);
            delayLevel = x;
            break;
        }

        case Parameter.Delaytimeleft: {
            x             = Mathf.Clamp(x, 1.0f, 4000.0f);
            delayTimeLeft = x;
            break;
        }

        case Parameter.Delaytimeright: {
            x = Mathf.Clamp(x, 1.0f, 4000.0f);
            delayTimeRight = x;
            break;
        }

        case Parameter.Distortioncrush: {
            x = Mathf.Clamp(x, 0.1f, 1.0f);
            distortionCrush = x;
            break;
        }

        case Parameter.Highpassfreq: {
            x            = Mathf.Clamp(x, 30.0f, 12000.0f);
            highpassFreq = x;
            break;
        }

        case Parameter.Lowpassfreq: {
            x           = Mathf.Clamp(x, 30.0f, 18000.0f);
            lowpassFreq = x;
            break;
        }

        case Parameter.Mastervoiceonoff: {
            x = Mathf.Clamp(x, 0.0f, 1.0f);
            masterVoiceOnOff = x;
            break;
        }

        case Parameter.Mastervoicevolume: {
            x = Mathf.Clamp(x, 0.0f, 0.8f);
            masterVoiceVolume = x;
            break;
        }

        default: return;
        }
        if (IsInstantiated())
        {
            _context.SendFloatToReceiver((uint)param, x);
        }
    }
    // see Hv_Enemies_AudioLib.Parameter for definitions
    public float GetFloatParameter(Hv_Enemies_AudioLib.Parameter param)
    {
        switch (param)
        {
        case Parameter.Delaylevel: return(delayLevel);

        case Parameter.Delaytimeleft: return(delayTimeLeft);

        case Parameter.Delaytimeright: return(delayTimeRight);

        case Parameter.Distortioncrush: return(distortionCrush);

        case Parameter.Highpassfreq: return(highpassFreq);

        case Parameter.Lowpassfreq: return(lowpassFreq);

        case Parameter.Mastervoiceonoff: return(masterVoiceOnOff);

        case Parameter.Mastervoicevolume: return(masterVoiceVolume);

        default: return(0.0f);
        }
    }