コード例 #1
0
            public static ref PokemonMoveAdjustment getAdjustment(ref PokemonMoveAdjustmentSet set, int index)
            {
                switch (index)
                {
                case 0: return(ref set.A);

                case 1: return(ref set.B);

                case 2: return(ref set.C);

                case 3: return(ref set.D);

                case 4: return(ref set.E);

                case 5: return(ref set.F);

                case 6: return(ref set.G);

                case 7: return(ref set.H);

                case 8: return(ref set.I);

                case 9: return(ref set.J);

                case 10: return(ref set.K);

                case 11: return(ref set.L);

                case 12: return(ref set.M);

                case 13: return(ref set.N);

                case 14: return(ref set.O);

                case 15: return(ref set.P);

                case 16: return(ref set.Q);

                case 17: return(ref set.R);

                case 18: return(ref set.S);

                case 19: return(ref set.T);

                case 20: return(ref set.U);

                case 21: return(ref set.V);

                case 22: return(ref set.W);

                case 23: return(ref set.X);

                case 24: return(ref set.Y);

                default: return(ref set.A);
                }
            }
コード例 #2
0
 public static float3 getNextPokemonMoveAdjustment(ref PokemonMoveAdjustmentSet set, ref float currentStamina, float time, float3 forward)
 {
     for (int i = 0; i < 25; i++)
     {
         ref PokemonMoveAdjustment pma = ref getAdjustment(ref set, i);
         if (pma.timeLength == -1f)
         {
             //				Debug.Log("Detected 1 time addition" + time + " forward = " + forward);
             //one time thing
             pma.timeLength = 0;
             set.isValid    = false;
             if (currentStamina - pma.staminaCost < 0)
             {
                 float3 temp = pma.useCameraDirection ? pma.timeLength * forward * pma.value : pma.timeLength * pma.value;
                 temp          *= currentStamina / pma.staminaCost;
                 currentStamina = 0;
                 return(temp);
             }
             else
             {
                 currentStamina -= pma.staminaCost;
                 return(pma.useCameraDirection ? forward * pma.value : pma.value);
             }
         }
         else if (pma.timeLength > 0)
         {
             //				Debug.Log("Detected it's not over");
             if (pma.timeLength - time >= 0)
             {
                 pma.timeLength -= time;
                 if (currentStamina - pma.staminaCost < 0)
                 {
                     float3 temp = pma.useCameraDirection ? pma.timeLength * forward * pma.value : pma.timeLength * pma.value;
                     temp          *= currentStamina / pma.staminaCost;
                     currentStamina = 0;
                     return(temp);
                 }
                 else
                 {
                     currentStamina -= pma.staminaCost;
                     return(pma.useCameraDirection ? time * forward * pma.value : time *pma.value);
                 }
             }
             else
             {
                 float3 temp = pma.timeLength;
                 pma.timeLength = 0;
                 if (currentStamina - pma.staminaCost < 0)
                 {
                     temp           = pma.useCameraDirection ? temp * forward * pma.value : time * pma.value;
                     temp          *= currentStamina / pma.staminaCost;
                     currentStamina = 0;
                     return(temp);
                 }
                 else
                 {
                     currentStamina -= pma.staminaCost;
                     return(pma.useCameraDirection ? temp * forward * pma.value : time *pma.value);
                 }
             }
         }
         else if (i == 24)
         {
             set.isValid = false;
         }
     }