Example #1
0
 public virtual void TakeDamage(int damage = 1)
 {
     _takeDamage = true;
     AnimaBeh.PlayAnim(AnimationsType.takeDamage);
     _currentHealth -= damage;
     _audioSource.PlayOneShot(Data.TakeDamage);
     if (_currentHealth <= 0)
     {
         Death();
     }
     time = AnimaBeh.clips[(int)AnimationsType.takeDamage]._clip.length;
 }
Example #2
0
    public void Jump()
    {
        if (JumpState)
        {
            return;
        }
        _animationBehavior.PlayAnim(AnimationsType.jump);
        _startJumpPosition = _transform.position;
        gameObject.layer   = 2;
        //_boxColliderTransform.position = _startTransformJump.position;
        JumpState = true;
        var direction = Vector3.up;

        if (_joystick)
        {
            direction = _joystick.go == false ? Vector3.up : new Vector3(Mathf.Sign(_joystick.posDirection.x) * 0.5f, 0.7f) * 1.2f;
        }
        _rigidBody.AddForce(direction * _jumpForce, ForceMode2D.Impulse);
        _rigidBody.gravityScale = 1;
    }