Quantcast
Viewing latest article 10
Browse Latest Browse All 20

Transform[] Array - fill it from another Script

Hello! I got two Scripts: 1 Enemy_mob script, with the Array on it, to search for new enemies on the fixed Update(). My Goal is to fill the enemy Array in the Start () of Script 2: public Transform[] monsterArray; private PlayerScript opponent; private Transform player; void Start () { player = GameObject.FindWithTag ("Player").transform; opponent = player.GetComponent(); } void Update () { atktime += Time.deltaTime; if (player != null) { if (!isDead ()) { if (!inRange ()) { chase (); } else { attack (); } // transformArray = GameObject.FindGameObjectsWithTag ("Player").Select (go => go.transform).ToArray (); } else { dieMethod (); } } else { if (!newTarget ()) { //player = GetNewTarget (); player = GetClosestEnemy (monsterArray); } } } Transform GetClosestEnemy(Transform[] enemies) { Transform bestTarget = null; float closestDistanceSqr = Mathf.Infinity; Vector3 currentPosition = transform.position; foreach(Transform potentialTarget in enemies) { Vector3 directionToTarget = potentialTarget.position - currentPosition; float dSqrToTarget = directionToTarget.sqrMagnitude; if(dSqrToTarget < closestDistanceSqr) { closestDistanceSqr = dSqrToTarget; bestTarget = potentialTarget; player = bestTarget; opponent = player.GetComponent(); } } return bestTarget; } void attack() { if (atktime >= 3) { Debug.Log(monsterArray); atktime = 0; Debug.Log("Angriff_opponent"); opponent.getHit(damage); // impacted = true; } } bool newTarget() { if (atktime >= 4) { // monsterArray = GameObject.FindWithTag ("Player").transform; //Debug.Log("newTargetBoolTrue"); return true; } else { //Debug.Log("FALSE"); return false; } } and Script 2, where I actually want to fill the monsterArray private MonsterScript opponent; private Transform enemy; void Start () { opponent.monsterArray[] += this.gameObject; //put this gameobj. in the monsterArray of MonsterScript enemy = GameObject.FindWithTag ("Enemy").transform; opponent = enemy.GetComponent(); } If new Monster spawn, it will check in it's Start() to get put into monsterArray, so it will get a Focus if it is in nearest Range. Untill now the monsterArray is empty

Viewing latest article 10
Browse Latest Browse All 20

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>