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"); } }
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); } }
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); }