Exemple #1
0
        public void Execute()
        {
            var gameInfoFactory    = new GameInfoFactory();
            var requirementFactory = new RequirementFactory();
            var predictors         = new PredictorBase[] { new BuffPredictor(gameInfoFactory) };
            var priotizer          = new AbilityPriotizer(
                (info, priotity) => new PriotizedAbility(requirementFactory, info, priotity), predictors, gameInfoFactory);

            this.SetUpTestData(priotizer);

            var barUi = new Bar((p) => new BarButton(p));

            new Timer(0.1, () =>
            {
                priotizer.UpdatePriotization();
                var queue = priotizer.GetQueueObjects();
                barUi.DisplayQueue(queue);
            });

            Core.print("PrioBar loaded.");
        }
 List <IMissionRequirement> LoadRequirements(IEnumerable <SavableRequirementData> savableRequirementData)
 {
     return(savableRequirementData.Select(requirementData => RequirementFactory.FromSavable(requirementData.RequirementValue,
                                                                                            generatorData.Colors[requirementData.RequirementsDataIndex[0]], generatorData.ClothingTypes[requirementData.RequirementsDataIndex[1]],
                                                                                            generatorData.Rarities[requirementData.RequirementsDataIndex[2]])).ToList());
 }
Exemple #3
0
 public PriotizedAbility(RequirementFactory requirementFactory, AbilityPrioInfo info, int priority)
 {
     this.info         = info;
     this.priority     = priority;
     this.requirements = info.Requirements.Select(requirementFactory.Create).ToArray();
 }