コード例 #1
0
 private bool TryChannel()
 {
     if (ChannelingHandler.ChannelingSet == false &&
         ChannelingHandler.IsChanneling == false &&
         KeyBindings.GetKeyDown(Controls.Light) &&
         Pointer.IsPointerOverUIObject() == false)
     {
         ChannelingHandler.StartChanneling();
         Anim.PlayAnimation(Animations.CreatePL);
         return(true);
     }
     return(false);
 }
コード例 #2
0
 public void StopChanneling()
 {
     ChannelingHandler.StopChanneling();
 }
コード例 #3
0
        private PlayerState HandleMovementInputs()
        {
            if (MovementState.IsOnSlope)
            {
                if (TryClimb())
                {
                    MovementState.WasOnSlope = true;
                    MovementState.IsGrounded = true;
                    _wasGrounded             = true;
                    MovementState.IsOnSlope  = false;
                    _wasSliding = false;
                    Anim.SetBool(PlayerAnimBool.Sliding, false);
                    return(SetMotorToClimbState());
                }
                else
                {
                    return(PlayerState.Sliding);
                }
            }
            else
            {
                if (_wasSliding)
                {
                    _normalizedHorizontalSpeed = 0;
                }
                _wasSliding = false;
                Anim.SetBool(PlayerAnimBool.Sliding, false);
            }

            if (_isJumping)
            {
                return(PlayerState.Jumping);
            }
            else if (MovementState.IsGrounded)
            {
                if (_wasGrounded == false)
                {
                    _wasGrounded = true;
                    return(PlayerState.WaitingForInput);
                }
                else if (Interaction.IsInteracting)
                {
                    return(PlayerState.Interacting);
                }
                else if (ChannelingHandler.IsChanneling && ChannelingHandler.ChannelingSet == false)
                {
                    if (KeyBindings.GetKey(Controls.Light))
                    {
                        ChannelingHandler.Channel();
                    }
                    return(PlayerState.Static);
                }
                else if (IsClimbing())
                {
                    return(PlayerState.Climbing);
                }
                else if (TryClimb())
                {
                    return(SetMotorToClimbState());
                }
                else if (TryInteract())
                {
                    Interaction.IsInteracting = true;
                    return(PlayerState.Interacting);
                }
                else if (TryChannel())
                {
                    return(PlayerState.Static);
                }
                else
                {
                    return(PlayerState.WaitingForInput);
                }
            }
            else
            {
                _wasGrounded = false;

                if (Anim.GetBool(PlayerAnimBool.Falling) == false)
                {
                    Anim.PlayAnimation(Animations.Falling);
                }
                Anim.SetBool(PlayerAnimBool.Falling, true);
                Anim.SetBool(PlayerAnimBool.Moving, false);
                Anim.SetBool(PlayerAnimBool.Upright, false);
                _normalizedHorizontalSpeed = 0;
                return(PlayerState.Falling);
            }
        }