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 }
private void Awake() { defender = GetComponent <DefenderEngagementHandler>(); //Get the instance defenderAnimator = GetComponent <scrDefenderAnimation>(); //Get the instance; DefenderIsCurrentlyMovingTowardsNewPossition = true; defenderHasANewPotentialTarget = false; t = 0f; aPos = transform.position; randomlyGeneratedPossition = GetRandomPossition(); //Potential problem: I assume this possition is relative to the parent object. If not... ABPos = transform.Find("ABPos"); BCPos = transform.Find("BCPos"); defenderMovementSpeed = setDefenderMovementSpeed; }
private void spawnDefenders() { for (int i = 0; i < pooler.poolSizeCount; i++) { GameObject newInstance = pooler.GetInstanceFromPool(); newInstance.transform.position = transform.position; //Spawn the defenders at tower location defenders.Add(newInstance); //Add defender to the list scrRallyPointPlacement defenderPossition = newInstance.GetComponent <scrRallyPointPlacement>(); //Get a reference to the instances defender stats script if (i != 0 && i < 4) //Assign possitions for the newly instantiated defenders { defenderPossition.DefenderPossition = i + 1; } scrDefenderAnimation defenderAnimator = newInstance.GetComponent <scrDefenderAnimation>(); defenderAnimator.GetDefenderRespawnPossition(defenderRespawnPos.position); //Assign the tower possition as the respawn possition for defenders DefenderEngagementHandler defender = newInstance.GetComponent <DefenderEngagementHandler>(); defender.AssignDefenderTowerTargets(defenderTowerTargets); //Assign this script for local defenders, so they can use the list of targets defenderTowerTargets.InitializeLocalDefenders(defender); //Assign the defenders to the defenderTowerTargets, so they can be issued orders from the defenderTowerTargetets script newInstance.SetActive(true); //Set defenders to active } }