/// <summary> /// Adds the entity types found in <see cref="DbSet{TEntity}" /> properties on the context to the model. /// </summary> /// <param name="modelBuilder"></param> /// <param name="context"></param> protected virtual void FindSets([NotNull] ModelBuilder modelBuilder, [NotNull] DbContext context) { foreach (var setInfo in SetFinder.FindSets(context)) { modelBuilder.Entity(setInfo.EntityType); } }
// Displays found set as Logmessage. Just for debugging private void displaySet(SetFinder Sets) { LogMessage($"V5 :found set for Q40 contains {Sets.BestSet.Values.Count} Gems", 10); int i = 1; foreach (QualityGem g in Sets.BestSet.Values) { LogMessage($"{i} - Q{g.getValue()} X{g.Gem.InventPosX} - Y{g.Gem.InventPosY}", 10); i++; } }
public void OneValidSet_MockCards_SetLengthFour() { //Arrange var cards = BuildMockCards(); var setLength = 4; var sut = new SetFinder(); //Act var result = sut.NumberOfValidSets(cards, setLength); //Assert Assert.AreEqual(result, 1); }
public void TwoValidSets_MockCards_SetLengthThree() { //Arrange var cards = BuildMockCards(); var setLength = 3; var sut = new SetFinder(); //Act var result = sut.NumberOfValidSets(cards, setLength); //Assert Assert.AreEqual(result, 2); }
// time to Pickup found Items into main inventory private void pickup(SetFinder Sets) { foreach (QualityGem g in Sets.BestSet.Values) { RectangleF itmPos = g.Gem.GetClientRect(); KeyboardHelper.KeyDown(System.Windows.Forms.Keys.LControlKey); Thread.Sleep((int)GameController.Game.IngameState.CurLatency); Mouse.SetCursorPosAndLeftClick(RandomizedCenterPoint(itmPos), GameController.Window.GetWindowRectangle().TopLeft); Thread.Sleep((int)GameController.Game.IngameState.CurLatency); KeyboardHelper.KeyUp(System.Windows.Forms.Keys.LControlKey); Thread.Sleep((int)GameController.Game.IngameState.CurLatency); Thread.Sleep(Settings.ExtraDelay); } }
protected override void FindSets(ModelBuilder modelBuilder, DbContext context) { base.FindSets(modelBuilder, context); var sets = SetFinder.CreateClrTypeDbSetMapping(context); foreach (var entityType in modelBuilder.Model.GetEntityTypes().Cast <EntityType>()) { if (entityType.BaseType == null && sets.ContainsKey(entityType.ClrType)) { entityType.Builder.Relational(ConfigurationSource.Convention).ToTable(sets[entityType.ClrType].Name); } } }
public void HigestValues_MockCards() { //Arrange var cards = BuildMockCards(); var setLength = 2; var maxHighestValues = 2; var sut = new SetFinder(); //Act var result = sut.HighestValuesInValidSets(cards, setLength, maxHighestValues); //Assert Assert.IsTrue(result.Contains(10)); Assert.IsTrue(result.Contains(8)); }
public override void Render() { base.Render(); if (!Settings.Enable.Value) // Plugin enabled = { return; // no, do nothing } if (!KeyboardHelper.IsKeyToggled(Settings.Hotkey.Value)) // Hotkey Pressed ? { return; // No key pressed just leave } LogMessage($"Picker: Hotkey ({Settings.Hotkey.Value.ToString()}) toggled, Running Q40 Picker", 1); if (!GameController.Game.IngameState.IngameUi.StashElement.IsVisible) { LogMessage($"No Open Stash -> leaving ", 1); KeyboardHelper.KeyPress(Settings.Hotkey.Value); return; } List <setData> hits; hits = getQualityType("Skill Gem"); // Try to find gems if (hits == null || hits.Count == 0) { hits = getQualityType("Flask"); //No gems so try flasks } if (hits == null || hits.Count == 0) { LogMessage("No Quality Items found ", 1); KeyboardHelper.KeyPress(Settings.Hotkey.Value); return; } LogMessage($"Picker: found {hits.Count} Quality Items in open stash.", 1); SetFinder Sets = new SetFinder(hits, 40); if (Sets.BestSet == null) { LogMessage("Added Quality is not 40", 1); KeyboardHelper.KeyPress(Settings.Hotkey.Value); return; } pickup(Sets); KeyboardHelper.KeyPress(Settings.Hotkey.Value); // send the hotkey back to the system to turn off the Work }
static void Main(string[] args) { List <setData> dta = getdata(); Console.ReadKey(); SetFinder Sets = new SetFinder(dta, 40); Console.WriteLine("found set : "); int i = 1; foreach (QualityGem g in Sets.BestSet.Values) { Console.WriteLine($"{i:2} : {g.ToString()} - Q{g.getValue()} "); i++; } Console.ReadKey(); }
public void Should_find_several_sets() { //Arrange var finder = new SetFinder(new List <ICard> { CardFactory.OneBlueDiamond, CardFactory.OneBlueOval, CardFactory.OneBlueSquiggle, CardFactory.OneRedOval, CardFactory.OneYellowOval, CardFactory.ThreeBlueOval, CardFactory.TwoBlueOval }); //Act var setsFound = finder.Find(); //Assert foreach (var trio in setsFound) { Assert.True(trio.IsSet()); } Assert.Equal(3, setsFound.Count()); Assert.Contains(new CardTrio(CardFactory.OneBlueDiamond, CardFactory.OneBlueOval, CardFactory.OneBlueSquiggle), setsFound); Assert.Contains(new CardTrio(CardFactory.OneBlueOval, CardFactory.TwoBlueOval, CardFactory.ThreeBlueOval), setsFound); Assert.Contains(new CardTrio(CardFactory.OneBlueOval, CardFactory.OneRedOval, CardFactory.OneYellowOval), setsFound); }