public void SetParameter(FMOD.Studio.PARAMETER_ID id, float value, bool ignoreseekspeed = false) { if (Settings.Instance.StopEventsOutsideMaxDistance && IsActive) { ParamRef cachedParam = cachedParams.Find(x => x.ID.Equals(id)); if (cachedParam == null) { FMOD.Studio.PARAMETER_DESCRIPTION paramDesc; eventDescription.getParameterDescriptionByID(id, out paramDesc); cachedParam = new ParamRef(); cachedParam.ID = paramDesc.id; cachedParam.Name = paramDesc.name; cachedParams.Add(cachedParam); } cachedParam.Value = value; } if (instance.isValid()) { instance.setParameterByID(id, value, ignoreseekspeed); } }
/// <summary> /// Gets an event parameter description by its ID. /// </summary> public FMOD.Studio.PARAMETER_DESCRIPTION GetParameterDescription(FMOD.Studio.PARAMETER_ID id) { Native.getParameterDescriptionByID(id, out var parameter); return(parameter); }