예제 #1
0
    public void PlayMovementAction(FanaticBattleType actionType)
    {
        float speed = 0;

        switch (actionType)
        {
        case FanaticBattleType.Walk_forward:
            SetMoveType(MoveType.WalkForward);
            LockRotation = false;
            speed        = WalkSpeed;

            break;

        case FanaticBattleType.Walk_left:
            SetMoveType(MoveType.Left);

            m_desiredMoveDirection = transform.right * -1;
            if (!TCP_SendMovement(WalkSpeed))
            {
                CC.Move(m_desiredMoveDirection * WalkSpeed * Time.deltaTime);
            }

            m_isMovementAction = true;
            return;

        case FanaticBattleType.Walk_right:
            SetMoveType(MoveType.Right);

            m_desiredMoveDirection = transform.right;
            if (!TCP_SendMovement(WalkSpeed))
            {
                CC.Move(m_desiredMoveDirection * WalkSpeed * Time.deltaTime);
            }

            m_isMovementAction = true;
            return;

        case FanaticBattleType.Run:
            SetMoveType(MoveType.RunForward);
            LockRotation = false;
            speed        = RunSpeed;

            break;

        case FanaticBattleType.FastRun:
            SetMoveType(MoveType.FastRun);
            LockRotation = false;
            speed        = RunSpeed;

            break;

        default:
            m_isMovementAction = false;
            return;
        }

        SetMoveDirection(speed);
        m_isMovementAction = true;
    }
예제 #2
0
    // 서버와 연결 체크 후, 서버에 애니메이션 보내기
    // 서버연결 안되있는 경우엔 공격 애니메이션 실행
    void Check_PlayBattleAction(FanaticBattleType actionType)
    {
        // 이동 애니메이션 실행이면, 공격 애니메이션은 실행 안하도록 종료
        if (m_isMovementAction)
        {
            return;
        }

        // 서버 연결되있으면, 애니메이션 보내고 밑에 실행문은 실행안함.
        if (TCP_SendAnimation((int)actionType))
        {
            return;
        }

        // 공격 애니메이션 실행
        PlayBattleAction(actionType);
    }
예제 #3
0
    // actionType에 따른 공격 애니메이션 실행
    void PlayBattleAction(FanaticBattleType actionType)
    {
        switch (actionType)
        {
        case FanaticBattleType.Evade:
            m_isEvade        = true;
            isMoving         = false;
            TCP_setAnimation = false;
            SetMoveType(MoveType.Stay);
            m_desiredSpeed = 0;

            HitBox.GetComponent <BoxCollider>().enabled = false;
            m_Animator.SetInteger("Evade", 0);
            break;

        case FanaticBattleType.Attack1:
            m_isAttack       = true;
            isMoving         = false;
            TCP_setAnimation = false;
            SetMoveType(MoveType.Stay);
            m_desiredSpeed = 0;

            currentDamageValue = 25f;
            currentAttackType  = 0;
            CreateRandomActionTime(5f, 6f);

            m_Animator.SetInteger("BattleSTATE", (int)AnimBattleSTATE.Attack1);
            break;

        case FanaticBattleType.Attack2:
            m_isAttack       = true;
            isMoving         = false;
            TCP_setAnimation = false;
            SetMoveType(MoveType.Stay);
            m_desiredSpeed = 0;

            currentDamageValue = 20f;
            currentAttackType  = 0;
            CreateRandomActionTime(5f, 6f);

            m_Animator.SetInteger("BattleSTATE", (int)AnimBattleSTATE.Attack2);
            break;

        case FanaticBattleType.Attack3:
            m_isAttack       = true;
            isMoving         = false;
            TCP_setAnimation = false;
            SetMoveType(MoveType.Stay);
            m_desiredSpeed = 0;

            currentDamageValue = 15f;
            currentAttackType  = 0;
            CreateRandomActionTime(5f, 6f);

            m_Animator.SetInteger("BattleSTATE", (int)AnimBattleSTATE.Attack3);
            break;

        case FanaticBattleType.Max:
            break;
        }

        //print("공격 실행: " + actionType);
        m_RecvActionType = FanaticBattleType.Max;
    }
예제 #4
0
 // 받은 애니메이션 m_THydraActionType에 지정
 public void TCP_RecvAnimation(int anim)
 {
     m_RecvActionType = (FanaticBattleType)anim;
     print("공격 애니메이션 받음: " + m_RecvActionType);
 }
예제 #5
0
 public MoveAction(FanaticBattleType _Action, float _Time)
 {
     Action = _Action;
     Time   = _Time;
 }