public void Roll(bool roll) { _animator.SetBool("roll", roll); facing_direction _direction = GetFacingDirection(); switch (_direction) { case facing_direction.down: _velocity.y = -rollSpeed; break; case facing_direction.left: _velocity.x = -rollSpeed; break; case facing_direction.right: _velocity.x = rollSpeed; break; case facing_direction.up: _velocity.y = rollSpeed; break; } _controller.move(_velocity * Time.deltaTime); }
private void UpdateFaceDirection( ) { if (_velocity.x != 0 || _velocity.y != 0) { if (_velocity.y != 0) { var isGoingUp = _velocity.y > 0; playerFacing = isGoingUp ? facing_direction.up : facing_direction.down; } if (_velocity.x != 0) { var isGoingRight = _velocity.x > 0; playerFacing = isGoingRight ? facing_direction.right : facing_direction.left; } } }
public void SetFaceDirection(facing_direction direction) { playerFacing = direction; }