Ejemplo n.º 1
0
        public override void Update()
        {
            if (Main.gamePaused || !Main.hasFocus)
            {
                return;
            }

            int index1 = _activeUfos;

            for (int index2 = 0; index2 < _ufos.Length; ++index2)
            {
                Ufo ufo = _ufos[index2];
                if (ufo.IsActive)
                {
                    ++ufo.Frame;
                    if (!ufo.Update())
                    {
                        if (!_leaving)
                        {
                            ufo.AssignNewBehavior();
                        }
                        else
                        {
                            ufo.IsActive = false;
                            --index1;
                        }
                    }
                }
                _ufos[index2] = ufo;
            }

            if (!_leaving && index1 != _maxUfos)
            {
                _ufos[index1].IsActive = true;
                _ufos[index1++].AssignNewBehavior();
            }
            _active     = !_leaving || index1 != 0;
            _activeUfos = index1;
        }
Ejemplo n.º 2
0
        public override void Update()
        {
            if (Main.gamePaused || !Main.hasFocus)
            {
                return;
            }
            int num = _activeUfos;

            for (int i = 0; i < _ufos.Length; i++)
            {
                Ufo ufo = _ufos[i];
                if (ufo.IsActive)
                {
                    ufo.Frame++;
                    if (!ufo.Update())
                    {
                        if (!_leaving)
                        {
                            ufo.AssignNewBehavior();
                        }
                        else
                        {
                            ufo.IsActive = false;
                            num--;
                        }
                    }
                }
                _ufos[i] = ufo;
            }
            if (!_leaving && num != _maxUfos)
            {
                _ufos[num].IsActive = true;
                _ufos[num++].AssignNewBehavior();
            }
            _active     = (!_leaving || num != 0);
            _activeUfos = num;
        }