Exemple #1
0
        public FMOD.Reverb3D CreateReverb(FMOD.REVERB_PROPERTIES props, Vector3 location, float maxDist, float minDist)
        {
            FMOD.Reverb3D reverb;
            FMOD.RESULT   res = soundSystem.createReverb3D(out reverb);
            if (res == FMOD.RESULT.OK)
            {
                res = reverb.setProperties(ref props);
                if (res == FMOD.RESULT.OK)
                {
                    FMOD.VECTOR pos = new FMOD.VECTOR();
                    pos.x = location.X;
                    pos.y = location.Y;
                    pos.z = location.Z;

                    res = reverb.set3DAttributes(ref pos, minDist, maxDist);
                    if (res == FMOD.RESULT.OK)
                    {
                        return(reverb);
                    }
                    else
                    {
                        throw new Exceptions.LoadFailException(FMOD.Error.String(res));
                    }
                }
                else
                {
                    throw new Exceptions.LoadFailException(FMOD.Error.String(res));
                }
            }
            else
            {
                throw new Exceptions.LoadFailException(FMOD.Error.String(res));
            }
        }