示例#1
0
    public void Reset()
    {
        // destroy existing summoned enemies
        EnemyScout redKnight = GetComponentInChildren <EnemyScout> ();

        if (redKnight != null)
        {
            redKnight.Die();
        }

        EnemyShoot greenKnight = GetComponentInChildren <EnemyShoot> ();

        if (greenKnight != null)
        {
            greenKnight.Die();
        }

        EnemyChaseShoot blackKnight = GetComponentInChildren <EnemyChaseShoot> ();

        if (blackKnight != null)
        {
            blackKnight.Die();
        }

        // reset local vars
        _existRedKnight              = false;
        _existGreenKnight            = false;
        _existBlackKnight            = false;
        _nextTimeToSummonRedKnight   = 0;
        _nextTimeToSummonGreenKnight = 0;
        _nextTimeToSummonBlackKnight = 0;
    }
示例#2
0
    void Update()
    {
        // summon red knight
        if (_existRedKnight == false && Time.time > _nextTimeToSummonRedKnight)
        {
            Summon(RedKnightPrefab, RedKnightSummonPos.position);
            _existRedKnight = true;
        }

        // summon green knight
        if (_existGreenKnight == false && Time.time > _nextTimeToSummonGreenKnight)
        {
            Summon(GreenKnightPrefab, GreenKnightSummonPos.position);
            _existGreenKnight = true;
        }

        // summon black knight
        if (_existBlackKnight == false && Time.time > _nextTimeToSummonBlackKnight)
        {
            Summon(BlackKnightPrefab, BlackKnightSummonPos.position);
            _existBlackKnight = true;
        }

        // check previously summoned enemies
        if (_existRedKnight == true)
        {
            EnemyScout redKnight = GetComponentInChildren <EnemyScout> ();
            if (redKnight == null)                      // red knight is gone!
            {
                _nextTimeToSummonRedKnight = Time.time + RedKnightSummonInterval;
                _existRedKnight            = false;
            }                   // else do nothing
        }

        if (_existGreenKnight == true)
        {
            EnemyShoot greenKnight = GetComponentInChildren <EnemyShoot> ();
            if (greenKnight == null)                    // green knight is gone!
            {
                _nextTimeToSummonGreenKnight = Time.time + GreenKnightSummonInterval;
                _existGreenKnight            = false;
            }                   // else do nothing
        }

        if (_existBlackKnight == true)
        {
            EnemyChaseShoot blackKnight = GetComponentInChildren <EnemyChaseShoot> ();
            if (blackKnight == null)                    // black knight is gone!
            {
                _nextTimeToSummonBlackKnight = Time.time + BlackKnightSummonInterval;
                _existBlackKnight            = false;
            }                   // else do nothing
        }
    }