コード例 #1
0
    private void UpdateMovementState(CharacterData.MovementStats.MovementState movementState)
    {
        characterData._currentMovementState = movementState;

        switch (CurrentMovementState)
        {
        case CharacterData.MovementStats.MovementState.STANDING:
            canRun = false;
            characterData.speed       = 0.0f;
            characterData.outOfBreath = false;
            break;

        case CharacterData.MovementStats.MovementState.WALKING:
            characterData.speed       = 2.0f;
            characterData.outOfBreath = false;
            break;

        case CharacterData.MovementStats.MovementState.TROTTING:
            characterData.speed       = 3.0f;
            characterData.outOfBreath = false;
            break;

        case CharacterData.MovementStats.MovementState.RUNNING:
            characterData.speed       = 4.0f;
            characterData.outOfBreath = false;
            break;

        case CharacterData.MovementStats.MovementState.SCARED_RUNNING:
            characterData.speed       = 5.0f;
            characterData.outOfBreath = true;
            break;

        case CharacterData.MovementStats.MovementState.FLOATING:
            //WHAT HAPPENS WHEN THE CHATACTER IS FLOATING
            characterData.forwardForce = 1.0f;
            canRun = false;
            break;

        case CharacterData.MovementStats.MovementState.CRAWLING:
            characterData.speed       = 1.0f;
            characterData.outOfBreath = true;
            canRun = false;
            break;

        default:
            break;
        }
    }
コード例 #2
0
 public void MoveState(CharacterData.MovementStats.MovementState movementState)
 {
     if (movementState == CharacterData.MovementStats.MovementState.CRAWLING)
     {
         crawling = true;
     }
     else if (movementState == CharacterData.MovementStats.MovementState.RUNNING)
     {
         canRun = true;
     }
     else
     {
         UpdateMovementState(movementState);
         //crawling = false;
         //canRun = false;
         Debug.Log(movementState);
     }
 }
コード例 #3
0
 public void ChangeBehaviourMoveState(CharacterData.MovementStats.MovementState state)
 {
     characterBehaviour.SendMessage("MoveState", state);
 }
コード例 #4
0
 //FOR ACTIONS THAT AFFECT MOVEMENT STATE
 public void PlayFeedbackChangeState(string feedback, CharacterData.MovementStats.MovementState state)
 {
     AkCallbackManager.EventCallback changeMovementStateCallback = new AkCallbackManager.EventCallback(new System.Action <object, AkCallbackType, object>((o1, o2, o3) => ChangeBehaviourMoveState(state)));
     AkSoundEngine.PostEvent(feedback, gameObject, (uint)AkCallbackType.AK_EndOfEvent, changeMovementStateCallback, null);
 }