Ok.Topdown game. So when a enemy get to close to my player I want it to retreat . My code is as follow but all it does it move down the screen no matter from which direction the player approaches the enemy.
function Retreat(){
if (retreat){
var TempRetreat : boolean= true;
var numbers = [1, 2];
var pick = numbers[Random.Range(0, numbers.Length)];
if (TempRetreat){
var retposition : Vector3= transform.position - player.transform.position;
retposition = retposition.normalized;
var retpositionFinal = -1 * retposition;
transform.LookAt(retpositionFinal);
transform.parent.position = Vector3.MoveTowards(transform.position, retpositionFinal, speed * Time.deltaTime);
if (transform.parent.position ==retpositionFinal){
retreat=false;
}
}
}
}