Example #1
0
 /// <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);
     }
 }
Example #2
0
        // 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++;
            }
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
 // 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);
     }
 }
Example #6
0
        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);
                }
            }
        }
Example #7
0
        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));
        }
Example #8
0
        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
        }
Example #9
0
        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();
        }
Example #10
0
        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);
        }