void Update() { GameObject temp = GameObject.FindGameObjectWithTag("Shield"); if (temp != null) { _shield = temp.GetComponent <ShieldDefence>(); } else { _shield = null; } DisplayHintArrow(); MoveHintArrow(); }
private void OnTriggerEnter2D(Collider2D collision) { GameObject shield = GameObject.FindGameObjectWithTag("Shield"); _shieldDefence = shield != null?shield.GetComponent <ShieldDefence>() : null; if (collision.gameObject.CompareTag("Player") && _shieldDefence != null && _shieldDefence.IsShieldDamaged()) { _canRepair = true; _startTimeOfRepair = Time.time; _sliderParent.gameObject.SetActive(true); _objectToFollow = collision.gameObject; _repairTimeSlider.value = 0; _shieldDefence.ToggleRepairAnimation(true); } }
private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.CompareTag("Player")) { SoundManager.instance.PlaySound("ShieldToMeteor"); ShieldDefence shieldDefence = collision.gameObject.GetComponentInChildren <ShieldDefence>(); if (shieldDefence != null) { shieldDefence.TakeDamage(_damage); DestroyMyself(Points); } } else if (collision.gameObject.CompareTag("Shield")) { ShieldDefence shieldDefence = collision.gameObject.GetComponent <ShieldDefence>(); if (shieldDefence != null) { shieldDefence.TakeDamage(_damage); DestroyMyself(Points); } } else if (collision.gameObject.CompareTag("Asteroid")) { SoundManager.instance.PlaySound("MeteorToMeteor"); DestroyMyself(Points); } else if (collision.gameObject.CompareTag("Bridge")) { SoundManager.instance.PlaySound("ShieldToMeteor"); PointsController.instance.CalculatePoints(Points); DestroyMyself(_points); } else if (collision.gameObject.CompareTag("Ground")) { var cameraShake = Camera.main.GetComponent <CameraShake>(); cameraShake.StartShaking(); SoundManager.instance.PlaySound("MeteorToMeteor"); DestroyMyself(); } else { Instantiate(_explosion, gameObject.transform.position, Quaternion.identity); } }