void Update() { if (target == null) { Destroy(gameObject); return; } Vector3 direction = target.position - gameObject.transform.position; float currentdistancemoved = speed * Time.deltaTime; if (direction.magnitude <= currentdistancemoved) { //if (damage >= 20 && target != null) //{ // GameObject Guts = (GameObject)Instantiate(GutsEffect, gameObject.transform.position, transform.rotation); // Destroy(Guts, 2f); //} GameObject Blood = (GameObject)Instantiate(Bloodeffect, gameObject.transform.position, transform.rotation); Destroy(Blood, 1.5f); EnemyBehavior2 enemyScript = target.GetComponent <EnemyBehavior2>(); enemyScript.takeDamage(damage * damageMultiplier); Destroy(gameObject); } transform.Rotate(direction); transform.Translate(direction.normalized * currentdistancemoved, Space.World); }
private void updateFurthestEnemy() { GameObject target = null; int highestIndexOfTarget = 0; float highestDistanceToNextNode = 0; foreach (GameObject gegner in ListEnemies.enemies) { float distance = (transform.position - gegner.transform.position).magnitude; if (distance <= range) { EnemyBehavior2 enemyScript = gegner.GetComponent <EnemyBehavior2>(); //machte Probleme int targetIndex = 0; float distanceToTargetNode = 0; targetIndex = enemyScript.indexOfTargetNode;//machte auch Probleme GameObject targetNode = GenerateMap.PathNodes[targetIndex]; distanceToTargetNode = (gegner.transform.position - targetNode.transform.position).magnitude; if (((targetIndex == highestIndexOfTarget) && (distanceToTargetNode >= highestDistanceToNextNode)) || (targetIndex > highestIndexOfTarget)) { highestIndexOfTarget = targetIndex; highestDistanceToNextNode = distanceToTargetNode; target = gegner; } } } currentTarget = target; }
void Start() { enemy = GameObject.FindGameObjectWithTag("Enemy").GetComponent <EnemyBehavior>(); enemy1 = GameObject.FindGameObjectWithTag("Enemy1").GetComponent <EnemyBehavior1>(); enemy2 = GameObject.FindGameObjectWithTag("Enemy2").GetComponent <EnemyBehavior2>(); enemy3 = GameObject.FindGameObjectWithTag("Enemy3").GetComponent <EnemyBehavior3>(); enemy4 = GameObject.FindGameObjectWithTag("Enemy4").GetComponent <EnemyBehavior4>(); enemy5 = GameObject.FindGameObjectWithTag("Enemy5").GetComponent <EnemyBehavior5>(); enemy6 = GameObject.FindGameObjectWithTag("Enemy6").GetComponent <EnemyBehavior6>(); enemy7 = GameObject.FindGameObjectWithTag("Enemy7").GetComponent <EnemyBehavior7>(); enemy8 = GameObject.FindGameObjectWithTag("Enemy8").GetComponent <EnemyBehavior8>(); enemy9 = GameObject.FindGameObjectWithTag("Enemy9").GetComponent <EnemyBehavior9>(); enemy10 = GameObject.FindGameObjectWithTag("Enemy10").GetComponent <EnemyBehavior10>(); enemy11 = GameObject.FindGameObjectWithTag("Enemy11").GetComponent <EnemyBehavior11>(); enemy12 = GameObject.FindGameObjectWithTag("Enemy12").GetComponent <EnemyBehavior12>(); enemy13 = GameObject.FindGameObjectWithTag("Enemy13").GetComponent <EnemyBehavior13>(); enemy14 = GameObject.FindGameObjectWithTag("Enemy14").GetComponent <EnemyBehavior14>(); enemy15 = GameObject.FindGameObjectWithTag("Enemy15").GetComponent <EnemyBehavior15>(); attack = GetComponent <AudioSource>(); }