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;
}