private float longestTargetDistance; //Used to find new creep targets for defenders when they have killed their current target private void Awake() { DefenderHealth = GetComponent <scrUnitHealth>(); //Gets the reference defenderAnimator = GetComponent <scrDefenderAnimation>(); //Gets the instance defenderMovement = GetComponent <scrDefenderMovement>(); animEventHandler = GetComponentInChildren <scrAnimationEventHandler>(); //Get the instance }
//Assign the defenders targets based on their number public void orderDefendersToMoveTowardsTarget(Vector3 rallyPointPossitionA, Vector3 rallyPointPossitionB, Vector3 rallyPointPossitionC) //Gets called from an Action in the scrTowerRallyPointPos { foreach (GameObject defender in defenders) //Runs for each defender in the list defender { scrDefenderMovement defenderMovement = defender.GetComponent <scrDefenderMovement>(); //Gets the defenders movement script scrRallyPointPlacement defenderPossition = defender.GetComponent <scrRallyPointPlacement>(); //Get a reference to the instances defender stats script if (defenderPossition.DefenderPossition == 1) { defenderMovement.getRallyPointPos(rallyPointPossitionA); //Feeds the movement funciton for each defender, the possition of the rallypoint } if (defenderPossition.DefenderPossition == 2) { defenderMovement.getRallyPointPos(rallyPointPossitionB); //Feeds the movement funciton for each defender, the possition of the rallypoint } if (defenderPossition.DefenderPossition == 3) { defenderMovement.getRallyPointPos(rallyPointPossitionC); //Feeds the movement funciton for each defender, the possition of the rallypoint } else if (defenderPossition.DefenderPossition < 1 || defenderPossition.DefenderPossition > 3) { Debug.Log("Incorrect number assigned to DefenderPossition variable in scrDefenderSpawner script"); } //Get instance of defenderMovement script //moveTowardsTarget(); } }