iTween.GenerateLookToTargets C# (CSharp) Method

GenerateLookToTargets() private method

private GenerateLookToTargets ( ) : void
return void
    void GenerateLookToTargets()
    {
        //values holder [0] from, [1] to, [2] calculated value from ease equation:
        vector3s=new Vector3[3];

        //from values:
        vector3s[0]=transform.eulerAngles;

        //set look:
        if(tweenArguments.Contains("looktarget")){
            if (tweenArguments["looktarget"].GetType() == typeof(Transform)) {
                //transform.LookAt((Transform)tweenArguments["looktarget"]);
                transform.LookAt((Transform)tweenArguments["looktarget"], (Vector3?)tweenArguments["up"] ?? Defaults.up);
            }else if(tweenArguments["looktarget"].GetType() == typeof(Vector3)){
                //transform.LookAt((Vector3)tweenArguments["looktarget"]);
                transform.LookAt((Vector3)tweenArguments["looktarget"], (Vector3?)tweenArguments["up"] ?? Defaults.up);
            }
        }else{
            Debug.LogError("iTween Error: LookTo needs a 'looktarget' property!");
            Dispose();
        }

        //to values:
        vector3s[1]=transform.eulerAngles;
        transform.eulerAngles=vector3s[0];

        //axis restriction:
        if(tweenArguments.Contains("axis")){
            switch((string)tweenArguments["axis"]){
                case "x":
                    vector3s[1].y=vector3s[0].y;
                    vector3s[1].z=vector3s[0].z;
                break;
                case "y":
                    vector3s[1].x=vector3s[0].x;
                    vector3s[1].z=vector3s[0].z;
                break;
                case "z":
                    vector3s[1].x=vector3s[0].x;
                    vector3s[1].y=vector3s[0].y;
                break;
            }
        }

        //shortest distance:
        vector3s[1]=new Vector3(clerp(vector3s[0].x,vector3s[1].x,1),clerp(vector3s[0].y,vector3s[1].y,1),clerp(vector3s[0].z,vector3s[1].z,1));

        //need for speed?
        if(tweenArguments.Contains("speed")){
            float distance = Math.Abs(Vector3.Distance(vector3s[0],vector3s[1]));
            time = distance/(float)tweenArguments["speed"];
        }
    }
iTween