void GenerateRotateToTargets()
{
//values holder [0] from, [1] to, [2] calculated value from ease equation:
vector3s=new Vector3[3];
//from values:
if (isLocal) {
vector3s[0]=vector3s[1]=transform.localEulerAngles;
}else{
vector3s[0]=vector3s[1]=transform.eulerAngles;
}
//to values:
if (tweenArguments.Contains("rotation")) {
if (tweenArguments["rotation"].GetType() == typeof(Transform)){
Transform trans = (Transform)tweenArguments["rotation"];
vector3s[1]=trans.eulerAngles;
}else if(tweenArguments["rotation"].GetType() == typeof(Vector3)){
vector3s[1]=(Vector3)tweenArguments["rotation"];
}
}else{
if (tweenArguments.Contains("x")) {
vector3s[1].x=(float)tweenArguments["x"];
}
if (tweenArguments.Contains("y")) {
vector3s[1].y=(float)tweenArguments["y"];
}
if (tweenArguments.Contains("z")) {
vector3s[1].z=(float)tweenArguments["z"];
}
}
//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"];
}
}