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