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; }
/// <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); }
private void Start() { Minioninfo = GetComponent <MinionInfo>(); attackTrigger.CreateTrigger(Minioninfo.AgroRange); attackTrigger.TriggerEnter += AttackTriggerEnter; attackTrigger.TriggerExit += AttackTriggerExit; targets = new List <Transform>(); movement = GetComponent <MinionMovement>(); }
//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); }