Пример #1
0
    public void TakeTamage(int damage, DamageType type = DamageType.Casual, Transform enemy = null)
    {
        if (IsDead || !_canBeDamaged || damage == 0)
        {
            return;
        }

        _currentHP -= damage;
        if (_currentHP <= 0)
        {
            OnDeath();
        }

        switch (type)
        {
        case DamageType.PowerStrike:
            _playerMovement.GetHurt(enemy.position);
            break;
        }
        _hpSlider.value = _currentHP;
        Instantiate(_damageText, transform.position + new Vector3(0f, 1.25f), _damageText.transform.rotation)
        .GetComponentInChildren <DamageText>().SetDamage(damage);
        StartCoroutine(MakeRed(0.25f));
        RefreshHUD();
    }
Пример #2
0
    public void TakeDamage(int damage, DamageType type = DamageType.Casual, Transform enemy = null)
    {
        if (!_canBeDamaged)
        {
            return;
        }

        _currentHP -= damage;
        if (_currentHP <= 0)
        {
            OnDeath();
        }

        switch (type)
        {
        case DamageType.Casual:
            if (enemy != null)     //вот этого не хватало
            {
                _playerMovement.GetHurt(enemy.position);
            }
            break;
        }
        _hpSlider.value = _currentHP;

        /*Debug.Log("value =  " + damage);
         * Debug.Log("Current HP = " + _currentHP);*/
    }
Пример #3
0
    public void TakeTamage(int damage, DamageType type = DamageType.Casual, Transform enemy = null)
    {
        //Debug.Log($"{Time.time} > {_unlockBlockTime}");
        if (IsDead)
        {
            OnDeath();
        }

        if (IsDead || !_canBeDamaged || damage == 0)
        {
            return;
        }

        bool block = Input.GetKey(KeyCode.LeftShift);

        if (block && _canBlock)
        {
            if (enemy != null)
            {
                bool faceRight = GetComponent <Movement_controller>().IsFaceRight;
                if (enemy.position.x < transform.position.x && !faceRight)
                {
                    Block();
                    return;
                }
                else if (enemy.position.x > transform.position.x && faceRight)
                {
                    Block();
                    return;
                }
            }
        }

        _currentHP -= damage;
        if (_currentHP <= 0)
        {
            OnDeath();
        }

        switch (type)
        {
        case DamageType.PowerStrike:
            _playerMovement.GetHurt(enemy.position);
            break;
        }
        _hpSlider.value = _currentHP;
        Instantiate(_damageText, transform.position + new Vector3(0f, 1.25f), _damageText.transform.rotation)
        .GetComponentInChildren <DamageText>().SetDamage(damage);
        StartCoroutine(MakeRed(0.25f));
        RefreshHUD();
    }
Пример #4
0
    public void TakeTamage(int damage, DamageType type = DamageType.Casual, Transform enemy = null)
    {
        if (!_canBeDamaged)
        {
            return;
        }

        _currentHP -= damage;
        if (_currentHP <= 0)
        {
            OnDeath();
        }

        switch (type)
        {
        case DamageType.PowerStrike:
            _playerMovement.GetHurt(enemy.position);
            break;
        }
        _hpSlider.value = _currentHP;
    }