Esempio n. 1
0
    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
    }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
    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
        }
    }