コード例 #1
0
    public bool MoveAction(CharacterMovementEnum charMove)
    {
        if (actionCancellable)
        {
            Debug.Log("Move Action");

            actionCancellable = false;
            inAction          = true;

            animator.SetInteger("nextState", (int)charMove);

            switch (charMove)
            {
            case CharacterMovementEnum.StepBackward:
                animator.Play("stepBackward");
                //anim.SetTrigger("stepBackward");
                break;

            case CharacterMovementEnum.StepForward:
                animator.Play("stepForward");
                //anim.SetTrigger("stepForward");
                break;

            case CharacterMovementEnum.StepChest:
                animator.Play("stepChest");
                //anim.SetTrigger("stepChest");
                break;

            case CharacterMovementEnum.StepSpine:
                animator.Play("stepSpine");
                break;

            case CharacterMovementEnum.DashBackward:
                animator.Play("dashBackward");
                break;

            case CharacterMovementEnum.DashForward:
                animator.Play("dashForward");
                break;

            case CharacterMovementEnum.SideStepChest:
                animator.Play("sideStepChest");
                break;

            case CharacterMovementEnum.SideStepSpine:
                animator.Play("sideStepSpine");
                break;
            }

            return(true);
        }
        return(false);
    }
コード例 #2
0
 public static ushort GetDirection(this CharacterMovementEnum value)
 {
     return((ushort)((ushort)value & MovementDirectionMask));
 }
コード例 #3
0
 public static ushort GetSpeed(this CharacterMovementEnum value)
 {
     return((ushort)((ushort)value & MovementSpeedMask));
 }
コード例 #4
0
 public static ushort GetMode(this CharacterMovementEnum value)
 {
     return((ushort)((ushort)value & MovementTypeMask));
 }
コード例 #5
0
    public bool MoveAction(CharacterMovementEnum charMove, GameObject target)
    {
        if (actionCancellable)
        {
            Debug.Log("Move Action");

            actionCancellable = false;
            inAction          = true;

            currentState = (int)charMove;

            elapsedTime  = 0f;
            elapsedFrame = 0;

            startPosition         = transform.position;
            startDirectionForward = transform.rotation;

            endPosition = startPosition + startDirectionForward * movementSet[currentState].localMovement;
            endPosition = target.transform.position + Vector3.Distance(startPosition, target.transform.position) * (endPosition - target.transform.position).normalized;

            this.target = target;

            switch (charMove)
            {
            case CharacterMovementEnum.StepBackward:
                animator.Play("stepBackward", 0, 0f);
                //anim.SetTrigger("stepBackward");
                break;

            case CharacterMovementEnum.StepForward:
                animator.Play("stepForward", 0, 0f);
                //anim.SetTrigger("stepForward");
                break;

            case CharacterMovementEnum.StepChest:
                animator.Play("stepChest", 0, 0f);
                //anim.SetTrigger("stepChest");
                break;

            case CharacterMovementEnum.StepSpine:
                animator.Play("stepSpine", 0, 0f);
                break;

            case CharacterMovementEnum.DashBackward:
                animator.Play("dashBackward", 0, 0f);
                break;

            case CharacterMovementEnum.DashForward:
                animator.Play("dashForward", 0, 0f);
                break;

            case CharacterMovementEnum.SideStepChest:
                animator.Play("sideStepChest", 0, 0f);
                break;

            case CharacterMovementEnum.SideStepSpine:
                animator.Play("sideStepSpine", 0, 0f);
                break;
            }
            return(true);
        }
        return(false);
    }