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()); }
public PriotizedAbility(RequirementFactory requirementFactory, AbilityPrioInfo info, int priority) { this.info = info; this.priority = priority; this.requirements = info.Requirements.Select(requirementFactory.Create).ToArray(); }