public static float CalcPitch(InAudioNode root, InAudioNode current)
        {
            InAudioNodeData inAudioNodeData = (InAudioNodeData)current._nodeData;
            float           minPitch        = inAudioNodeData.MinPitch;
            float           maxPitch        = inAudioNodeData.MaxPitch;
            bool            isRandom        = inAudioNodeData.RandomPitch;

            if (current == root)
            {
                if (!isRandom)
                {
                    return(minPitch);
                }
                else
                {
                    return(Random.Range(minPitch, maxPitch));
                }
            }

            if (!isRandom)
            {
                return(inAudioNodeData.MinPitch + CalcPitch(root, current._parent) - 1);
            }
            else
            {
                return(Random.Range(minPitch, maxPitch) + CalcPitch(root, current._parent) - 1);
            }
        }
        public static float Offset(InAudioNodeData data)
        {
            if (!data.RandomSecondsOffset)
            {
                return(data.MinSecondsOffset);
            }

            return(Random.Range(data.MinSecondsOffset, data.MaxSecondsOffset));
        }
        public static float InitialDelay(InAudioNodeData data)
        {
            if (!data.RandomizeDelay)
            {
                return(data.InitialDelayMin);
            }

            return(Random.Range(data.InitialDelayMin, data.InitialDelayMax));
        }
        public static AudioRolloffMode ApplyRolloffData(InAudioNode current, InAudioNodeData data, AudioSource workOn)
        {
            workOn.rolloffMode = data.RolloffMode;
            workOn.maxDistance = data.MaxDistance;
            workOn.minDistance = data.MinDistance;

            if (data.RolloffMode == AudioRolloffMode.Custom)
            {
                workOn.maxDistance = float.MaxValue;//Set to max so we can use our own animation curve
            }
            return(data.RolloffMode);
        }
Exemple #5
0
    public static AudioRolloffMode ApplyRolloffData(InAudioNode current, InAudioNodeData data, AudioSource workOn)
    {
        workOn.rolloffMode = data.RolloffMode;
        workOn.maxDistance = data.MaxDistance;
        workOn.minDistance = data.MinDistance;

        if (data.RolloffMode == AudioRolloffMode.Custom)
        {
            workOn.maxDistance = float.MaxValue;//Set to max so we can use our own animation curve
        }
        return data.RolloffMode;
    }
Exemple #6
0
    public static float Offset(InAudioNodeData data)
    {
        if (!data.RandomSecondsOffset)
            return data.MinSecondsOffset;

        return Random.Range(data.MinSecondsOffset, data.MaxSecondsOffset);
    }
Exemple #7
0
    public static float InitialDelay(InAudioNodeData data)
    {
        if (!data.RandomizeDelay)
            return data.InitialDelayMin;

        return Random.Range(data.InitialDelayMin, data.InitialDelayMax);
    }