void Update()
    {
        GameObject temp = GameObject.FindGameObjectWithTag("Shield");

        if (temp != null)
        {
            _shield = temp.GetComponent <ShieldDefence>();
        }
        else
        {
            _shield = null;
        }
        DisplayHintArrow();
        MoveHintArrow();
    }
示例#2
0
    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);
        }
    }
示例#3
0
 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);
     }
 }