void GenerateMoveByTargets()
{
//values holder [0] from, [1] to, [2] calculated value from ease equation, [3] previous value for Translate usage to allow Space utilization, [4] original rotation to make sure look requests don't interfere with the direction object should move in, [5] for dial in location:
vector3s=new Vector3[6];
//grab starting rotation:
vector3s[4] = transform.eulerAngles;
//from values:
vector3s[0]=vector3s[1]=vector3s[3]=transform.position;
//to values:
if (tweenArguments.Contains("amount")) {
vector3s[1]=vector3s[0] + (Vector3)tweenArguments["amount"];
}else{
if (tweenArguments.Contains("x")) {
vector3s[1].x=vector3s[0].x + (float)tweenArguments["x"];
}
if (tweenArguments.Contains("y")) {
vector3s[1].y=vector3s[0].y +(float)tweenArguments["y"];
}
if (tweenArguments.Contains("z")) {
vector3s[1].z=vector3s[0].z + (float)tweenArguments["z"];
}
}
//calculation for dial in:
transform.Translate(vector3s[1],space);
vector3s[5] = transform.position;
transform.position=vector3s[0];
//handle orient to path request:
if(tweenArguments.Contains("orienttopath") && (bool)tweenArguments["orienttopath"]){
tweenArguments["looktarget"] = vector3s[1];
}
//need for speed?
if(tweenArguments.Contains("speed")){
float distance = Math.Abs(Vector3.Distance(vector3s[0],vector3s[1]));
time = distance/(float)tweenArguments["speed"];
}
}