Пример #1
0
    public static void generateChallenges(int number)
    {
        int id = 0;

        challenges.Clear();
        for (int n = 0; n < number; n++)
        {
            GenericObject.Model[]  excludedObjectModels = { GenericObject.Model.Live };
            GenericChallenge       c    = null;
            GenericChallenge.Model chal = Utils.RandomEnumValue <GenericChallenge.Model>();
            int           pointReward   = Random.Range(0, 100);
            Booster.Model boosterReward = Utils.RandomEnumValue <Booster.Model>();
            switch (chal)
            {
            case GenericChallenge.Model.Destruction:
                int nTargets = UnityEngine.Random.Range(1, 11);
                int nModels  = UnityEngine.Random.Range(1, 3);
                List <GenericObject.Model> objectModels = Utils.RandomEnumValues <GenericObject.Model>(nModels, false, excludedObjectModels);
                c = new DestructionChallenge(objectModels, nTargets);
                break;

            case GenericChallenge.Model.TimeDestruction:
                nTargets     = UnityEngine.Random.Range(1, 11);
                nModels      = UnityEngine.Random.Range(1, 3);
                objectModels = Utils.RandomEnumValues <GenericObject.Model>(nModels, false, excludedObjectModels);
                int seconds = (int)System.Math.Ceiling((float)UnityEngine.Random.Range(60, 181) / 5) * 5;
                c = new TimeDestructionChallenge(objectModels, nTargets, seconds);
                break;

            case GenericChallenge.Model.TimeSurvive:
                nTargets = UnityEngine.Random.Range(1, 11);
                nModels  = UnityEngine.Random.Range(1, 4);
                List <LiveObject.Model> menaceModels = Utils.RandomEnumValues <LiveObject.Model>(nModels, true);
                seconds = (int)System.Math.Ceiling((float)UnityEngine.Random.Range(60, 181) / 5) * 5;
                c       = new TimeSurviveChallenge(menaceModels, seconds);
                break;
            }
            c.setChallenge(id, boosterReward, pointReward);
            challenges.Add(c);
            id++;
        }
    }
 public static void generateChallenges(int number)
 {
     int id = 0;
     challenges.Clear();
     for (int n = 0; n < number; n++)
     {
         GenericObject.Model[] excludedObjectModels = { GenericObject.Model.Live };
         GenericChallenge c = null;
         GenericChallenge.Model chal = Utils.RandomEnumValue<GenericChallenge.Model>();
         int pointReward = Random.Range(0, 100);
         Booster.Model boosterReward = Utils.RandomEnumValue<Booster.Model>();
         switch (chal)
         {
             case GenericChallenge.Model.Destruction:
                 int nTargets = UnityEngine.Random.Range(1, 11);
                 int nModels = UnityEngine.Random.Range(1, 3);
                 List<GenericObject.Model> objectModels = Utils.RandomEnumValues<GenericObject.Model>(nModels, false, excludedObjectModels);
                 c = new DestructionChallenge(objectModels, nTargets);
                 break;
             case GenericChallenge.Model.TimeDestruction:
                 nTargets = UnityEngine.Random.Range(1, 11);
                 nModels = UnityEngine.Random.Range(1, 3);
                 objectModels = Utils.RandomEnumValues<GenericObject.Model>(nModels, false, excludedObjectModels);
                 int seconds = (int)System.Math.Ceiling((float)UnityEngine.Random.Range(60, 181) / 5) * 5;
                 c = new TimeDestructionChallenge(objectModels, nTargets, seconds);
                 break;
             case GenericChallenge.Model.TimeSurvive:
                 nTargets = UnityEngine.Random.Range(1, 11);
                 nModels = UnityEngine.Random.Range(1, 4);
                 List<LiveObject.Model> menaceModels = Utils.RandomEnumValues<LiveObject.Model>(nModels, true);
                 seconds = (int)System.Math.Ceiling((float)UnityEngine.Random.Range(60, 181) / 5) * 5;
                 c = new TimeSurviveChallenge(menaceModels, seconds);
                 break;
         }
         c.setChallenge(id, boosterReward, pointReward);
         challenges.Add(c);
         id++;
     }
 }