Exemple #1
0
        public static int S_NormalToTarget(EStance t)
        {
            switch (t)
            {
            default:
            case EStance.Normal:
                return(0);

            case EStance.Run:
            case EStance.Crouch:
                return(2);

            case EStance.Prone:
                return(4);
            }
        }
        public void ChangeStance(EStance targetStance)
        {
            if (!curUnit)
            {
                return;
            }

            EStance curStance    = curUnit.GetStance;
            int     targetPoints = 0;

            switch (curStance)
            {
            case EStance.Normal:
                targetPoints = StaticFunctions.S_NormalToTarget(targetStance);
                break;

            case EStance.Run:
                targetPoints = StaticFunctions.S_NormalToTarget(targetStance);
                break;

            case EStance.Crouch:
                targetPoints = StaticFunctions.S_CrouchToTarget(targetStance);
                break;

            case EStance.Prone:
                targetPoints = StaticFunctions.S_ProneToTarget(targetStance);
                break;

            default:
                break;
            }

            if (curUnit.Stats.CurrentActionPoints < targetPoints)
            {
                return;
            }

            curUnit.Stats.CurrentActionPoints -= targetPoints;
            UIManager.instance.UpdateAponCharacterPanel(curUnit.Stats.CurrentActionPoints);
            curUnit.ChangeStance(targetStance);
            preNode = null;
        }