Пример #1
0
    private void Update()
    {
        if (!_gameOn)
        {
            return;
        }

        _cdTimer -= Time.deltaTime;
        if (_cdTimer < 0)
        {
            _buildCtrl.DisassembleAllBelow(_pursuitCtrl.ScreenBottom());
            _cdTimer = DisassembleTime;
        }

        if (_mainProvider.HasMore())
        {
            if (_mainProvider.IsReadyForMore())
            {
                while (_mainProvider.HasNext())
                {
                    Construct(_mainProvider.Next());
                }
            }
        }
        else
        {
            var last = _stuff[_idOfLast].GetComponent <Vehicle>();
            var pos  = new Vector2(last.transform.position.x, last.transform.position.z);
            var scd  = new CarDescriptor(pos, last.Velocity.z, last.Size);
            scd.SetID(_idOfLast);
            _mainProvider.Reset(scd);
        }

        TraveledDistance = _avatar.transform.position.z;
    }