iTween.AudioUpdate C# (CSharp) Method

AudioUpdate() public static method

Similar to AudioTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with FULL customization options. Does not utilize an EaseType.
public static AudioUpdate ( GameObject target, Hashtable args ) : void
target GameObject
args Hashtable
return void
    public static void AudioUpdate(GameObject target, Hashtable args)
    {
        CleanArgs(args);

        AudioSource audioSource;
        float time;
        Vector2[] vector2s = new Vector2[4];

        //set smooth time:
        if(args.Contains("time")){
            time=(float)args["time"];
            time*=Defaults.updateTimePercentage;
        }else{
            time=Defaults.updateTime;
        }

        //set audioSource:
        if(args.Contains("audiosource")){
            audioSource=(AudioSource)args["audiosource"];
        }else{
            if(target.GetComponent(typeof(AudioSource))){
                audioSource=target.audio;
            }else{
                //throw error if no AudioSource is available:
                Debug.LogError("iTween Error: AudioUpdate requires an AudioSource.");
                return;
            }
        }

        //from values:
        vector2s[0] = vector2s[1] = new Vector2(audioSource.volume,audioSource.pitch);

        //set to:
        if(args.Contains("volume")){
            vector2s[1].x=(float)args["volume"];
        }
        if(args.Contains("pitch")){
            vector2s[1].y=(float)args["pitch"];
        }

        //calculate:
        vector2s[3].x=Mathf.SmoothDampAngle(vector2s[0].x,vector2s[1].x,ref vector2s[2].x,time);
        vector2s[3].y=Mathf.SmoothDampAngle(vector2s[0].y,vector2s[1].y,ref vector2s[2].y,time);

        //apply:
        audioSource.volume=vector2s[3].x;
        audioSource.pitch=vector2s[3].y;
    }

Same methods

iTween::AudioUpdate ( GameObject target, float volume, float pitch, float time ) : void
iTween