public void CreateBigAsteroid(Vector2 _pos) { AsteroidEnemy ae = GameObject.Instantiate(asteroidPrefab, _pos, Quaternion.identity, asteroidParent).GetComponent <AsteroidEnemy>(); ae.Initialize(); asteroidsList.Add(ae); }
public void SetTarget(bool isPlayer, GameObject target) { if (_isTargetLocked) { return; } if (!isPlayer && target != null) { _tmpTarget = target; if (target.CompareTag("AsteroidsBelt")) { AsteroidEnemy asteroid = null; while (asteroid != null) { asteroid = target.transform.GetChild(Random.Range(10, 100)).GetComponent <AsteroidEnemy>(); if (!asteroid.gameObject.activeInHierarchy) { asteroid = null; } } _currentTarget = target.GetComponentInChildren <AsteroidEnemy>().gameObject; if (_findAnotherAsteroidCoroutine != null) { _findAnotherAsteroidCoroutine = StartCoroutine(FindAnotherAsteroid()); } } else { _currentTarget = target; } } else if (_tmpTarget != null) { if (_returnToTargetCoroutine != null) { StopCoroutine(_returnToTargetCoroutine); _returnToTargetCoroutine = StartCoroutine(ReturnToTarget(_tmpTarget)); } else { _returnToTargetCoroutine = StartCoroutine(ReturnToTarget(_tmpTarget)); } _currentTarget = _player.gameObject; } }