예제 #1
0
        public async Task Execute()
        {
            var farm = await GetToLaunchFarm();

            var account = farm.Mules.Count > 0 ? farm.Mules.First() : farm.Bots.First();

            Instance instance;

            if (account.Mule)
            {
                instance = new Mule();
            }
            else
            {
                instance = new Bot();
            }

            instance.Account    = account;
            instance.StartTime  = _dateTime.UtcNow;
            instance.LastUpdate = _dateTime.UtcNow;

            var result = await _instanceService.LaunchInstance(instance);

            if (!result)
            {
                return;
            }

            _context.Instances.Add(instance);
            await _context.SaveChangesAsync();
        }
예제 #2
0
        public async void Handle_RegisterMule_Existing()
        {
            var stateManager = new Mock <IStateService>();

            stateManager.Setup(s => s.IsRunning()).ReturnsAsync(true);

            var farmManager = new Mock <IFarmService>();
            var position    = Data.Position;

            farmManager.Setup(f => f.GetMulePosition()).ReturnsAsync(position);

            var logger = new Mock <ILogger <RegisterMuleHandler> >();

            var now      = DateTime.UtcNow;
            var dateTime = new Mock <IDateTime>();

            dateTime.Setup(d => d.UtcNow).Returns(now);

            var account = BogusData.ValidMuleAccounts.Generate();

            var startTime = now.Subtract(TimeSpan.FromSeconds(30));
            var mule      = new Mule
            {
                Account    = account,
                StartTime  = startTime,
                LastUpdate = startTime
            };

            using (var context = NewContext)
            {
                context.Mules.Add(mule);

                await context.SaveChangesAsync();
            }

            var command = new FORFarm.Application.Mules.Commands.RegisterMule.RegisterMule()
            {
                Tag         = Guid.NewGuid(),
                Username    = account.Username,
                DisplayName = "DarudeSandstorm"
            };

            var registerMuleHandler = new RegisterMuleHandler(farmManager.Object, NewContext, logger.Object, dateTime.Object, stateManager.Object);

            var result = await registerMuleHandler.Handle(command, CancellationToken.None);

            result.Should().NotBeNull();
            result.Command.Should().Be(Command.Continue);

            var uMule = await NewContext.Mules
                        .Include(m => m.Position)
                        .FirstOrDefaultAsync(m => m.ID == mule.ID);

            uMule.Position.Should().BeEquivalentTo(position);
            uMule.DisplayName.Should().Be(command.DisplayName);
            uMule.Tag.Should().Be(command.Tag);
            uMule.LastUpdate.Should().Be(now);
        }
        public async void Handle_SignalMuleHeartbeat_Existing()
        {
            var stateManager = new Mock <IStateService>();

            stateManager.Setup(s => s.IsRunning()).ReturnsAsync(true);

            var logger = new Mock <ILogger <SignalMuleHeartbeatHandler> >();

            var now      = DateTime.UtcNow;
            var dateTime = new Mock <IDateTime>();

            dateTime.Setup(d => d.UtcNow).Returns(now);

            var account = BogusData.ValidMuleAccounts.Generate();

            var mule = new Mule
            {
                Account = account,
                Tag     = Guid.NewGuid()
            };

            var bot = BogusData.Bots.Generate();

            var muleRequest = new MuleRequest
            {
                Mule = mule,
                Bot  = bot
            };

            using (var context = NewContext)
            {
                context.MuleRequests.Add(muleRequest);
                await context.SaveChangesAsync();
            }

            var command = new FORFarm.Application.Mules.Commands.SignalMuleHeartbeat.SignalMuleHeartbeat
            {
                Gold = 500 * 1000,
                Tag  = mule.Tag
            };

            var signalMuleHeartbeatHandler = new SignalMuleHeartbeatHandler(NewContext, logger.Object, dateTime.Object, stateManager.Object);

            var result = await signalMuleHeartbeatHandler.Handle(command, CancellationToken.None);

            result.Should().NotBeNull();
            result.Command.Should().Be(Command.Continue);
            result.MuleRequests.Should().ContainSingle(bot.DisplayName);

            var uMule = await NewContext.Mules.FindAsync(mule.ID);

            uMule.LastUpdate.Should().Be(now);
            uMule.Gold.Should().Be(command.Gold);
        }
예제 #4
0
            private bool IsForge(object obj)
            {
                if (Core.ML && obj is Mobile && ((Mobile)obj).IsDeadBondedPet)
                {
                    return(false);
                }

                if (obj.GetType().IsDefined(typeof(ForgeAttribute), false))
                {
                    return(true);
                }

                //daat99 OWLTR start - mule-forge
                if (player != null && player as PlayerMobile != null && OWLTROptionsManager.IsEnabled(OWLTROptionsManager.OPTIONS_ENUM.MULE_FORGE))
                {
                    if (obj is Mule)
                    {
                        Mule mule = obj as Mule;
                        if (mule.ControlMaster != player)
                        {
                            player.SendMessage(53, "You don't own that mule!!!");
                            player.PlaySound(1074); //no
                            return(false);
                        }
                        else
                        {
                            return(true);
                        }
                    }
                }
                //daat99 OWLTR end - mule-forge

                int itemID = 0;

                if (obj is Item)
                {
                    itemID = ((Item)obj).ItemID;
                }
                else if (obj is StaticTarget)
                {
                    itemID = ((StaticTarget)obj).ItemID;
                }

                return(itemID == 4017 || (itemID >= 6522 && itemID <= 6569));
            }
예제 #5
0
        public static Entity Create(this EntityType entityType, World world)
        {
            Entity entity = null;

            switch (entityType)
            {
            case EntityType.None:
                return(null);

            case EntityType.Chicken:
                entity = new Chicken(world);
                break;

            case EntityType.Cow:
                entity = new Cow(world);
                break;

            case EntityType.Pig:
                entity = new Pig(world);
                break;

            case EntityType.Sheep:
                entity = new Sheep(world);
                break;

            case EntityType.Wolf:
                entity = new Wolf(world);
                break;

            case EntityType.Villager:
                entity = new Villager(world);
                break;

            case EntityType.MushroomCow:
                entity = new Mooshroom(world);
                break;

            case EntityType.Squid:
                entity = new Squid(world);
                break;

            case EntityType.Rabbit:
                entity = new Rabbit(world);
                break;

            case EntityType.Bat:
                entity = new Bat(world);
                break;

            case EntityType.IronGolem:
                entity = new VillagerGolem(world);
                break;

            case EntityType.SnowGolem:
                entity = new Snowman(world);
                break;

            case EntityType.Ocelot:
                entity = new Ocelot(world);
                break;

            case EntityType.Zombie:
                entity = new Zombie(world);
                break;

            case EntityType.Creeper:
                entity = new Creeper(world);
                break;

            case EntityType.Skeleton:
                entity = new Skeleton(world);
                break;

            case EntityType.Spider:
                entity = new Spider(world);
                break;

            case EntityType.ZombiePigman:
                entity = new ZombiePigman(world);
                break;

            case EntityType.Slime:
                entity = new Slime(world);
                break;

            case EntityType.Endermite:
                entity = new Endermite(world);
                break;

            case EntityType.Enderman:
                entity = new Enderman(world);
                break;

            case EntityType.Silverfish:
                entity = new Silverfish(world);
                break;

            case EntityType.CaveSpider:
                entity = new CaveSpider(world);
                break;

            case EntityType.Ghast:
                entity = new Ghast(world);
                break;

            case EntityType.MagmaCube:
                entity = new MagmaCube(world);
                break;

            case EntityType.Blaze:
                entity = new Blaze(world);
                break;

            case EntityType.ZombieVillager:
                entity = new ZombieVillager(world);
                break;

            case EntityType.Witch:
                entity = new Witch(world);
                break;

            case EntityType.Stray:
                entity = new Stray(world);
                break;

            case EntityType.Husk:
                entity = new Husk(world);
                break;

            case EntityType.WitherSkeleton:
                entity = new WitherSkeleton(world);
                break;

            case EntityType.Guardian:
                entity = new Guardian(world);
                break;

            case EntityType.ElderGuardian:
                entity = new ElderGuardian(world);
                break;

            case EntityType.Horse:
                entity = new Horse(world);
                break;

            case EntityType.ZombieHorse:
                entity = new ZombieHorse(world);
                break;

            case EntityType.PolarBear:
                entity = new PolarBear(world);
                break;

            case EntityType.Shulker:
                entity = new Shulker(world);
                break;

            case EntityType.EnderDragon:
                entity = new EnderDragon(world);
                break;

            case EntityType.SkeletonHorse:
                entity = new SkeletonHorse(world);
                break;

            case EntityType.Wither:
                entity = new Wither(world);
                break;

            case EntityType.Evoker:
                entity = new EvocationIllager(world);
                break;

            case EntityType.Vindicator:
                entity = new VindicationIllager(world);
                break;

            case EntityType.Vex:
                entity = new Vex(world);
                break;

            case EntityType.FallingBlock:
                entity = new EntityFallingBlock(world, null);
                break;

            case EntityType.ArmorStand:
                entity = new EntityArmorStand(world, null);
                break;

            case EntityType.Arrow:
                entity = new ArrowEntity(world, null);
                break;

            case EntityType.Item:
                entity = new ItemEntity(world, null);
                break;

            case EntityType.Mooshroom:
                entity = new Mooshroom(world);
                break;

            case EntityType.Snowball:
                entity = new SnowballEntity(world, null);
                break;

            case EntityType.ThrownEgg:
                entity = new EggEntity(world, null);
                break;

            case EntityType.Salmon:
                entity = new Salmon(world);
                break;

            case EntityType.Donkey:
                entity = new Donkey(world);
                break;

            case EntityType.Llama:
                entity = new Llama(world);
                break;

            case EntityType.Mule:
                entity = new Mule(world);
                break;

            case EntityType.Fox:
                entity = new Fox(world);
                break;

            case EntityType.Parrot:
                entity = new Parrot(world);
                break;

            case EntityType.Phantom:
                entity = new Phantom(world);
                break;

            case EntityType.Bee:
                entity = new Bee(world);
                break;

            case EntityType.LlamaSpit:
                entity = new LlamaSpit(world);
                break;

            //case EntityType.Human:
            //entity = new PlayerMob("test", world, );
            //	break;
            default:
                return(null);
            }

            return(entity);
        }
예제 #6
0
        static void Main(string[] args)
        {
            var point = new Coordinate();

            point.Latitude  = (decimal) - 82.34561;
            point.Longitude = (decimal) - 27.9674;
            point.Label     = "Somewhere you want to be";
            point.Color     = "Red";
            Console.WriteLine(point);

            var workPants = new Pants("Haggar", "Blue", 32, 31);

            workPants.Worn("Frank");
            Console.WriteLine(workPants);

            var cat = new Pet("King", "Maine Coon");

            cat.Adopt("Frank");
            Console.WriteLine(cat);


            var newCar = new Car("Volkswagen", "Jetta GLI", 2017, true, 90, 29000, 210);

            newCar.Driver("Frank");
            newCar.IncreaseSpeed(10);
            newCar.DecreaseValue(9000);
            newCar.IncreaseHP(15);
            Console.WriteLine(newCar);


            var newCar2 = new Car("Nissan", "Skyline", 1999, true, 110, 150000, 376);

            newCar2.Driver("Carla");
            newCar2.IncreaseSpeed(20);
            newCar2.IncreaseValue(20000);
            newCar2.DecreaseHP(20);
            Console.WriteLine(newCar2);


            var airplane1 = new Airplane("Boeing", "SuperMax 8");   // Passing arguments to this instance of a class.

            airplane1.GroundedPlane(true, "Delta Airlines");        // Passing arguments to this method used in the airplane1 class instance.
            Console.WriteLine(airplane1);


            var airplane2 = new Airplane("Airbus", "A321");

            airplane2.GroundedPlane(false, "Air France");
            Console.WriteLine(airplane2);

            var myPack = new BackPack("Frank", "Red", 12);

            for (var i = 0; i < 3; i++)
            {
                myPack.AddItem();
            }
            var campingPack = new BackPack("Mark", "Blue", 36);

            for (var i = 0; i < 13; i++)
            {
                campingPack.AddItem();
            }
            var purse = new BackPack("Carla", "Green", 6);

            for (var i = 0; i < 10; i++)
            {
                purse.AddItem();
            }
            Console.WriteLine(myPack);
            Console.WriteLine(campingPack);
            Console.WriteLine(purse);

            var pegasus1 = new Pegasus(45, 50);

            pegasus1.IncreaseSpeed(20);
            pegasus1.FlapWings(50);
            Console.WriteLine(pegasus1);

            var bird1 = new Bird(20);

            bird1.FlapWings(10);
            Console.WriteLine(bird1);

            var horse1 = new Horse(30, 30);

            horse1.IncreaseSpeed(40);
            horse1.FlapWings(50);
            Console.WriteLine(horse1);

            /* var animal1 = new Animal {
            *     Name = "Wilbur",
            *     FavoriteFood = "Slop",
            *     Greeting = "Oink"
            *  };
            *  animal1.Speak();
            *  animal1.Eat();
            *  Console.WriteLine("Hello");*/

            var animal2 = new Mule
            {
                Name = "StubbornDale"
            };

            animal2.Speak();
            animal2.Eat();

            //

            var lancelot = new Knight();
            var legolas  = new Archer();
            var merlin   = new Wizard();


            var army = new List <Warrior>();

            army.Add(lancelot);
            army.Add(legolas);
            army.Add(merlin);

            army.ForEach(fighter => fighter.Attack());

            //

            var lancelot2 = new Knight2();
            var legolas2  = new Archer2();
            var merlin2   = new Wizard2();
            var golem2    = new Giant2();
            var gimmly2   = new Cleric2();


            var army2 = new List <Warrior2>();

            army2.Add(lancelot2);
            army2.Add(legolas2);
            army2.Add(merlin2);
            army2.Add(golem2);
            army2.Add(gimmly2);


            army2.ForEach(fighter => fighter.Attack());

            //
            var mickeyMantel  = new BaseballPlayer();
            var michaelJordan = new BasketballPlayer();
            var danMarino     = new FootballPlayer();
            var joeMontana    = new FootballPlayer();

            var league = new List <ScoringAthlete>();

            league.Add(mickeyMantel);
            league.Add(michaelJordan);
            league.Add(danMarino);
            league.Add(joeMontana);

            league.ForEach(player => player.Score());



            //
            Console.ReadLine();
        }