コード例 #1
0
ファイル: Stats.cs プロジェクト: exewin/Tact
    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);
    }