Beispiel #1
0
    void Init()
    {
        _shieldRenderer  = _shieldVisual.GetComponent <SpriteRenderer>();
        _fullShieldColor = _shieldRenderer.color;
        ShieldChance(_chanceOfShield);

        _player = OnGetPlayerScript?.Invoke();

        _anim = GetComponentInChildren <Animator>();
        if (_anim == null)
        {
            Debug.Log("Animator is NULL");
        }
    }
Beispiel #2
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Player")
        {
            Player player = OnGetPlayerScript?.Invoke();
            if (player != null)
            {
                OnPlaySFX?.Invoke(_powerUpClip);
                switch (_powerUpType)
                {
                case PowerUpType.TripleShot:
                    player.TripleShotActivate();
                    break;

                case PowerUpType.SpeedBoost:
                    player.SpeedBoostActivate();
                    break;

                case PowerUpType.Shield:
                    player.ShieldActivate();
                    break;

                case PowerUpType.Ammo:
                    player.ChangeAmmo();
                    break;

                case PowerUpType.Health:
                    player.ChangeLives(_healAmount);
                    break;

                case PowerUpType.Missile:
                    player.ActivateHomingMissiles();
                    break;

                case PowerUpType.OmniShot:
                    player.OmniShotActivate();
                    break;

                case PowerUpType.Negative:
                    player.ChangeLives(-_healAmount);
                    player.NegativeEffectActivate();
                    break;

                default:
                    break;
                }
            }
            gameObject.SetActive(false);
        }
    }
Beispiel #3
0
    void Start()
    {
        GameObject playerObj = OnGetPlayerObject?.Invoke();

        if (playerObj != null)
        {
            _player = OnGetPlayerScript?.Invoke();
        }

        if (playerObj.activeInHierarchy == false)
        {
            Debug.Log("Player is dead!");
            gameObject.SetActive(false);
        }

        _currentReactorHealth = _reactorHealth;
        _reactorCoreObj.SetActive(false);
    }