コード例 #1
0
ファイル: EnemyManager.cs プロジェクト: lutherkaran/Asteroids
    public void CreateBigAsteroid(Vector2 _pos)
    {
        AsteroidEnemy ae = GameObject.Instantiate(asteroidPrefab, _pos, Quaternion.identity, asteroidParent).GetComponent <AsteroidEnemy>();

        ae.Initialize();
        asteroidsList.Add(ae);
    }
コード例 #2
0
ファイル: FriendlyAI.cs プロジェクト: sdnavin/Scripts
    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;
        }
    }