public override void Update()
        {
            PrevMoveAmt = CurMoveAmt;

            CurMoveAmt = Vector3.zero;

            float speed = PlayerCharacter.Instance.BaseMoveSpeed;

            if (Input.GetKey(KeyCode.UpArrow) == true)
            {
                CurMoveAmt.y = speed;
            }
            if (Input.GetKey(KeyCode.DownArrow) == true)
            {
                CurMoveAmt.y = -speed;
            }
            if (Input.GetKey(KeyCode.LeftArrow) == true)
            {
                CurMoveAmt.x = -speed;
            }
            if (Input.GetKey(KeyCode.RightArrow) == true)
            {
                CurMoveAmt.x = speed;
            }

            //Test jumping state
            if (Input.GetKeyDown(KeyCode.Z))
            {
                playerGrounded.SetGroundState(playerGrounded.GroundedState == PlayerGrounded.GroundedStates.Grounded
                    ? PlayerGrounded.GroundedStates.Airborne : PlayerGrounded.GroundedStates.Grounded);
            }

            //Set the direction to face
            playerDirection.SetDirection(PlayerDirection.GetDirectionFromSpeed(new Vector2(CurMoveAmt.x, CurMoveAmt.y), playerDirection.CurDirection));

            StateMachine.RootTransform.position += CurMoveAmt;
        }