public void SwitchState(int addPose) { if (statePos == state.stand && addPose > 0) { animator.SetTrigger("StandToCrouch"); burnOut = Formulas.BURNOUT_STAND_TO_CROUCH; } else if (statePos == state.crouch && addPose > 0) { animator.SetTrigger("CrouchToCrawl"); burnOut = Formulas.BURNOUT_CROUCH_TO_CRAWL; } else if (statePos == state.crawl && addPose < 0) { animator.SetTrigger("CrawlToCrouch"); burnOut = Formulas.BURNOUT_CRAWL_TO_CROUCH; } else if (statePos == state.crouch && addPose < 0) { animator.SetTrigger("CrouchToStand"); burnOut = Formulas.BURNOUT_CROUCH_TO_STAND; } else { return; } statePos += addPose; if (statePos == state.stand) { navMeshAgent.agentTypeID = 0; navMeshAgent.speed = Formulas.BASE_SPEED; accuracyStateBonus = 1f; defenseStateBonus = 1f; } else if (statePos == state.crouch) { navMeshAgent.agentTypeID = -1372625422; navMeshAgent.speed = Formulas.CROUCH_SPEED; accuracyStateBonus = Formulas.ACCURACY_CROUCH_BONUS; defenseStateBonus = Formulas.DEFENSE_CROUCH_BONUS; } else if (statePos == state.crawl) { navMeshAgent.agentTypeID = -334000983; navMeshAgent.speed = Formulas.CRAWL_SPEED; accuracyStateBonus = Formulas.ACCURACY_CRAWL_BONUS; defenseStateBonus = Formulas.DEFENSE_CRAWL_BONUS; } vis.BodyPartsResize(statePos); }