void Assign(GameObject minion, GameObject target) { MinionAI mai = minion.GetComponent <MinionAI>(); mai.setBusy(true); mai.setAssignedBuilding(target); mai.working = false; ResourceExtractor re = target.GetComponent <ResourceExtractor>(); re.workers.Add(minion); minion.GetComponent <MinionAI>().setTargetResource(re.findNearbyResource()); }
// Start is called before the first frame update void Start() { if (instance == null) { instance = this; } isDead = false; status = gameObject.GetComponent <Status>(); status.CurrHp = status.MaxHp; SetMinionTag(); SetMinionDestination(); SetCurrDestination(); InvokeRepeating("SearchTarget", 0f, 0.5f); }
private IEnumerator MinionSpawning() { int spawnCount = 0; while (true) { Team team = 0; foreach (Transform teamPoint in spawnPoints) { switch (teamPoint.name) { case "WHITE": team = Team.WHITE; break; case "BLACK": team = Team.BLACK; break; default: Debug.LogWarning("spawnPointsに指定したオブジェクトの名前が不正です。\n"); break; } int pos = 0; foreach (Transform point in teamPoint) { MinionAI minionAI = GameManager.instance.Summon(0, point, team).GetComponent <MinionAI>(); minionAI.photonView.RPC("SetValue", PhotonTargets.All, (MinionLane)pos, point.position, team); pos++; } } spawnCount++; if (spawnCount < waveSpawnLimit) { yield return(spawnInterval); } else { spawnCount = 0; yield return(waveInterval); } } }
public override void StartAttack() { if (attackCooldownLeft <= 0.0f && owner.owner.sensesAI.GetVisibleTargets() != null && owner.owner.sensesAI.GetVisibleTargets().Count > 0) { GameObject bestTarget = owner.owner.sensesAI.GetVisibleTargets()[0]; foreach (GameObject target in owner.owner.sensesAI.GetVisibleTargets()) { if (Vector3.Distance(bestTarget.transform.position, transform.position) > Vector3.Distance(target.transform.position, transform.position)) { bestTarget = target; } } if (IsTargetInRange(bestTarget)) { MinionAI targetAI = bestTarget.GetComponent <MinionAI>(); if (targetAI != null) { targetAI.ApplyDamage(damage); attackCooldownLeft = attackCooldown; } } } }
internal void HitDetectedOn(MinionAI minionAi) { minionAi.ApplyDamage((int)WeaponCore.Strength * 2); Debug.Log("Applied dmg"); }
void Start() { AI = gameObject.GetComponentInParent <MinionAI>(); Physics.IgnoreCollision(GetComponent <CapsuleCollider>(), parentcollider); }
void Damage(Transform enemy) { MinionAI e = enemy.GetComponent <MinionAI>(); e.TakeDamage(turret.GetComponent <Turret>().turretDamage); }