Example #1
0
 private void Start()
 {
     sMinioninfo = GetComponent <SiegeMinionInfo>();
     attackTrigger.CreateTrigger(sMinioninfo.AgroRange);
     attackTrigger.TriggerEnter += AttackTriggerEnter;
     attackTrigger.TriggerExit  += AttackTriggerExit;
     targets       = new List <Transform>();
     movement      = GetComponent <MinionMovement>();
     weaponDetails = weapon.GetComponentInChildren <BcWeapon>();
     if (EnemyAIManager.upgradeSiege)
     {
         weaponDetails.reloadTime            = sMinioninfo.reloadTime * 0.85f;
         weaponDetails.clipSize              = sMinioninfo.clipSize * 2;
         weaponDetails.rateOfFire            = sMinioninfo.AttackSpeed * 1.2f;
         weaponDetails.bulletsPerShot        = sMinioninfo.bulletsPerShot + 2;
         weaponDetails.SiegeProjectileDamage = sMinioninfo.Damage * 1.5f;
         GetComponent <UnityEngine.AI.NavMeshAgent>().speed = sMinioninfo.MovementSpeed * 1.8f;
     }
     else
     {
         weaponDetails.reloadTime            = sMinioninfo.reloadTime;
         weaponDetails.clipSize              = sMinioninfo.clipSize;
         weaponDetails.rateOfFire            = sMinioninfo.AttackSpeed;
         weaponDetails.bulletsPerShot        = sMinioninfo.bulletsPerShot;
         weaponDetails.SiegeProjectileDamage = sMinioninfo.Damage;
     }
     weaponDetails.currentAmmo = 0.0f;
 }
Example #2
0
 /// <summary>
 /// Creates a minion which automatically has a starting planet and a target planet.
 /// </summary>
 /// <param name="initialContainer"></param>
 /// <param name="targetContainer"></param>
 /// <param name="allegiance"></param>
 /// <param name="count">The amount of minions that are covered by this game object</param>
 public Minion(IMinionContainer initialContainer, IMinionContainer targetContainer, Allegiance allegiance, int count)
     : base(initialContainer.Position, allegiance)
 {
     Count = count;
       mTargetReached = false;
       mTargetContainer = targetContainer;
       mMovement = new MinionMovement(initialContainer, targetContainer, this);
       mVisibility = new Visibility(this);
 }
Example #3
0
 private void Start()
 {
     Minioninfo = GetComponent <MinionInfo>();
     attackTrigger.CreateTrigger(Minioninfo.AgroRange);
     attackTrigger.TriggerEnter += AttackTriggerEnter;
     attackTrigger.TriggerExit  += AttackTriggerExit;
     targets  = new List <Transform>();
     movement = GetComponent <MinionMovement>();
 }
Example #4
0
    //FORWARD MOVE
    void SpawnMinionBehaviour1(Minion minion, bool isLastMinion)
    {
        spawn1 = GameObject.Find("Hex_0_" + RandomInt(firstSpawnPoint, lastSpawnPoint));

        //PASSO, A L'SCRIPT DEL MINION, "HEXINFO" (NECESSARI PER QUE EL MINION SAPIGA SABER ON ÉS) I VARIABLES DE COLOR, TAMANY I VELOCITAT (PER QUE SAPIGA COM CONSTRUIR-SE)
        HexInfo         spawn1Hex       = spawn1.GetComponentInChildren <HexInfo>();
        MinionMovement  minionScript    = minion1.GetComponent <MinionMovement>();
        ColorComponents colorComponents = minion1.GetComponent <ColorComponents>();

        colorComponents.lastMinionInWave = isLastMinion;
        minionScript.ActualHex           = spawn1Hex;

        //BuildMinion(minion);

        //POSA LES VARIABLES DE COLOR EN FUNCIÓ DE "MINION.SIZE" I "MINION.COLORCOMPLEXITY"
        colorComponents.cyanComponent    = minion.cyanQuantity;
        colorComponents.magentaComponent = minion.magentaQuantity;
        colorComponents.yellowComponent  = minion.yellowQuantity;

        //RESET DE LES VARIABLES GLOBALS DE COLOR
        cyanQuantity    = 0;
        magentaQuantity = 0;
        yellowQuantity  = 0;

        if (MobileBuild)
        {
            minionScript.speed = minion.speed * incrementPerMobilBuild;
        }

        else
        {
            minionScript.speed = minion.speed;
        }

        Instantiate(minion1, spawn1.transform.position, minion1.transform.rotation);
    }