Beispiel #1
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Tab) && _isHomingMissileActive == true)
        {
            int        weaponType = _homingMissilePrefab.GetWeaponType();
            GameObject missile    = OnGetWeapon?.Invoke(weaponType);
            if (missile != null)
            {
                missile.transform.position = _spawnPoints[0].position;
                missile.SetActive(true);
                _currentMissiles--;
                if (_currentMissiles < 1)
                {
                    _currentMissiles       = 0;
                    _isHomingMissileActive = false;
                }
                OnUpdateMissiles?.Invoke(_currentMissiles, _numberOfMissiles);
            }
        }

        if (Input.GetKey(KeyCode.Space) && Time.time > _canFire && _currentAmmo > 0)
        {
            FireLaser();
        }

        CalculateMovement();
    }
Beispiel #2
0
    void Init()
    {
        transform.position      = Vector2.zero;
        _baseSpeed              = _speed;
        _currentAmmo            = _maxAmmo;
        _lives                  = _maxLives;
        _tripleShotDuration     = _powerUpDuration;
        _speedBoostDuration     = _powerUpDuration;
        _omniShotDuration       = _powerUpDuration;
        _negativeEffectDuration = _powerUpDuration;

        _shieldRenderer  = _shieldVisual.GetComponent <SpriteRenderer>();
        _fullShieldColor = _shieldRenderer.color;
        _shieldVisual.SetActive(false);

        for (int i = 0; i < _engineFires.Length; i++)
        {
            _engineFires[i].SetActive(false);
        }

        OnUpdateLives?.Invoke(_lives);
        OnUpdateThuster?.Invoke(_elapsedTime, _thrusterBurnLength);
        OnUpdateAmmo?.Invoke(_currentAmmo, _maxAmmo);
        OnUpdateMissiles?.Invoke(_currentMissiles, _numberOfMissiles);
    }
Beispiel #3
0
 public void ActivateHomingMissiles()
 {
     _isHomingMissileActive = true;
     _currentMissiles       = _numberOfMissiles;
     OnUpdateMissiles?.Invoke(_currentMissiles, _numberOfMissiles);
 }