示例#1
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Description,Size,Colour,Quantity")] Pants pants)
        {
            if (id != pants.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(pants);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PantsExists(pants.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(pants));
        }
示例#2
0
        public static void Copy(UnturnedPlayer fromPlayer, UnturnedPlayer toPlayer, bool clothes)
        {
            PlayerClothing clothing    = fromPlayer.Player.clothing;
            Hat            hat         = new Hat(clothing.hat, clothing.hatQuality, clothing.hatState);
            Mask           mask        = new Mask(clothing.mask, clothing.maskQuality, clothing.maskState);
            Shirt          shirt       = new Shirt(clothing.shirt, clothing.shirtQuality, clothing.shirtState);
            Vest           vest        = new Vest(clothing.vest, clothing.vestQuality, clothing.vestState);
            Backpack       backpack    = new Backpack(clothing.backpack, clothing.backpackQuality, clothing.backpackState);
            Pants          pants       = new Pants(clothing.pants, clothing.pantsQuality, clothing.pantsState);
            Clothing       clothesList = new Clothing(hat, mask, shirt, vest, backpack, pants);

            List <Item> itemList       = ListItems(fromPlayer);
            int         inventoryCount = itemList.Count;

            Clear(toPlayer, clothes);

            if (clothes == true)
            {
                AddClothing(toPlayer, backpack, clothesList);
            }
            else
            {
                AddClothing(toPlayer, backpack);
            }

            for (int i = 0; i < itemList.Count; i++)
            {
                AddItem(toPlayer, itemList[i]);
            }
        }
示例#3
0
        static void Main(string[] args)
        {
            Console.WriteLine("==========美國=============");

            //建造工廠(美國)
            ClothesFactory americanFactory = new AmericanClothesFactory();
            //產出褲子
            Pants americanPants = americanFactory.CreatePants();

            americanPants.OutPut();
            //產出裙子
            Skirts americanSkirts = americanFactory.CreateSkirts();

            americanSkirts.OutPut();

            Console.WriteLine("==========台灣=============");

            //建造工廠(台灣)
            ClothesFactory taiwanFactory = new TaiwanClothesFactory();
            //產出褲子
            Pants taiwanPants = taiwanFactory.CreatePants();

            taiwanPants.OutPut();
            //產出裙子
            Skirts taiwanSkirts = taiwanFactory.CreateSkirts();

            taiwanSkirts.OutPut();

            Console.ReadLine();
        }
示例#4
0
        public string ToJsString()
        {
            string SendStr = "";

            SendStr = SendStr.AddArrayKV3("Shirt", Shirt.ToJsString(), "Pants", Pants.ToJsString(), "Socks", Socks.ToJsString(), false);
            SendStr = SendStr.AddParen();
            return(SendStr);
        }
示例#5
0
    private void InstantiatePants(string currentKey)
    {
        Pants pants = pantsDictionary[currentKey];

        _pantsInstance      = Instantiate(_pantsPrefab, pants.PantsPosition, Quaternion.identity);
        _pantsInstanceKey   = currentKey;
        _pantsInstance.name = _pantsInstanceKey;
        _pantsInstance.GetComponent <SpriteRenderer>().sprite = pants.PantsSprite;
    }
 public EquipmentSet(Foot foot, Head head, Hand hand, Weapon weapon, Pants pants, Torso torso)
 {
     this._foot = foot;
     this._head = head;
     this._hand = hand;
     this._weapon = weapon;
     this._pants = pants;
     this._torso = torso;
 }
示例#7
0
 public Clothing(Hat hat, Mask mask, Shirt shirt, Vest vest, Backpack backpack, Pants pants)
 {
     this.hat      = hat;
     this.mask     = mask;
     this.shirt    = shirt;
     this.vest     = vest;
     this.backpack = backpack;
     this.pants    = pants;
 }
示例#8
0
        public void Assignment1_TestDerivedClassPants_ReturnTrue()
        {
            bool  myresult = false;
            Pants pants    = new Pants(92321344, "pants", "short pants", 1234);

            if (pants.GetType() == typeof(Pants))
            {
                myresult = true;
            }
            Assert.IsTrue(myresult, "My short pants is of type pants.");
        }
示例#9
0
        public void Assignment1_IsPolyMorphic_ReturnTrue()
        {
            bool  myresult = false;
            Pants pants    = new Pants(1234, "jeans", "skinny jeans", 12);

            if (pants.GetType().IsSubclassOf(typeof(Clothing)))
            {
                myresult = true;
            }
            Assert.IsTrue(myresult, "Pants of type Pants and Clothing");
        }
示例#10
0
        public async Task <IActionResult> Create([Bind("ID,Description,Size,Colour,Quantity")] Pants pants)
        {
            if (ModelState.IsValid)
            {
                _context.Add(pants);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(pants));
        }
示例#11
0
 public RulesEngine(Condition condition)
 {
     Condition      = condition;
     _footware      = new Footware(condition);
     _pj            = new Pj(condition);
     _headwear      = new Headwear(condition);
     _socks         = new Socks(condition);
     _shirt         = new Shirt(condition);
     _jacket        = new Jacket(condition);
     _pants         = new Pants(condition);
     _leaveTheHouse = new LeaveTheHouse(condition);
 }
        public static Pants CapturePantsProperties(Pants pants)
        {
            CaptureProductProperties(pants);

            CaptureMaterial(pants);

            CaptureColor(pants);

            CaptureSize(pants);

            return(pants);
        }
示例#13
0
        void OnPlayerInit(BasePlayer player)
        {
            if (player.inventory.containerWear.itemList.Count() == 0)
            {
                GivePants(player); return;
            }
            Item valid = player.inventory.containerWear.itemList.Where(k => Pants.Contains(k.info.shortname)).Select(k => k).FirstOrDefault();

            if (valid == null)
            {
                GivePants(player);
            }
        }
示例#14
0
        public TextureCompositor ComposeTextureMap(Folder characterAssets, WebBodyColors bodyColors)
        {
            Contract.Requires(characterAssets != null && bodyColors != null);

            var compositor = new TextureCompositor(AvatarType.R6, RECT_FULL)
            {
                CharacterAssets = characterAssets
            };

            // Append BodyColors
            compositor.AppendColor(bodyColors.TorsoColorId, COMPOSIT_TORSO, RECT_FULL);
            compositor.AppendColor(bodyColors.LeftArmColorId, COMPOSIT_LEFT_ARM, RECT_FULL);
            compositor.AppendColor(bodyColors.LeftLegColorId, COMPOSIT_LEFT_LEG, RECT_FULL);
            compositor.AppendColor(bodyColors.RightArmColorId, COMPOSIT_RIGHT_ARM, RECT_FULL);
            compositor.AppendColor(bodyColors.RightLegColorId, COMPOSIT_RIGHT_LEG, RECT_FULL);

            // Append Head & Face
            Asset faceAsset = GetAvatarFace(characterAssets);

            compositor.AppendTexture(faceAsset, RECT_HEAD, 1);
            compositor.AppendColor(bodyColors.HeadColorId, RECT_HEAD);

            // Append Shirt
            Shirt shirt = characterAssets.FindFirstChildOfClass <Shirt>();

            if (shirt != null)
            {
                Asset shirtAsset = Asset.GetByAssetId(shirt.ShirtTemplate);
                compositor.AppendTexture(shirtAsset, COMPOSIT_SHIRT, RECT_FULL, 2);
            }

            // Append Pants
            Pants pants = characterAssets.FindFirstChildOfClass <Pants>();

            if (pants != null)
            {
                Asset pantsAsset = Asset.GetByAssetId(pants.PantsTemplate);
                compositor.AppendTexture(pantsAsset, COMPOSIT_PANTS, RECT_FULL, 1);
            }

            // Append T-Shirt
            ShirtGraphic tshirt = characterAssets.FindFirstChildOfClass <ShirtGraphic>();

            if (tshirt != null)
            {
                Asset tshirtAsset = Asset.GetByAssetId(tshirt.Graphic);
                compositor.AppendTexture(tshirtAsset, RECT_TSHIRT, 3, RotateFlipType.Rotate90FlipNone);
            }

            return(compositor);
        }
示例#15
0
        static void Main(string[] args)
        {
            Pants jeans = new Pants();

            jeans.clotheColor = Color.Blue;

            Shirt someShirt = new Shirt();

            someShirt.clotheColor = Color.White;

            Console.WriteLine(someShirt.clotheColor);

            Console.ReadKey();
        }
示例#16
0
        public void NormalConditions()
        {
            try
            {
                Pants pants = new Pants("large", "red");

                pants.DisplayClothing();
                pants.Wash();
                pants.Pack();
                pants.Hang();
            }
            catch
            {
                Assert.IsTrue(false);
            }

            Assert.IsTrue(true);
        }
示例#17
0
 public static void ChangeProperty(Pants pantsItem)
 {
     while (true)
     {
         try
         {
             pantsItem.Model = Misc.GetParameter("Model");
             pantsItem.Type  = Misc.GetParameter("Type");
             pantsItem.Size  = Int32.Parse(Misc.GetParameter("Size"));
             pantsItem.Price = Int32.Parse(Misc.GetParameter("Price"));
             pantsItem.Color = Misc.GetParameter("Color");
             break;
         }
         catch (Exception)
         {
             Misc.ConsoleLog(ConsoleColor.Yellow, "Incorrect input, try again");
         }
     }
 }
示例#18
0
        public static void AddClothing(UnturnedPlayer player, Backpack backpack, Clothing clothing = null)
        {
            if (clothing != null)
            {
                Hat     hat     = clothing.hat;
                Mask    mask    = clothing.mask;
                Shirt   shirt   = clothing.shirt;
                Vest    vest    = clothing.vest;
                Pants   pants   = clothing.pants;
                Glasses glasses = clothing.glasses;

                if (hat != null)
                {
                    player.Player.clothing.askWearHat(hat.id, hat.quality, hat.state, true);
                }
                if (mask != null)
                {
                    player.Player.clothing.askWearMask(mask.id, mask.quality, mask.state, true);
                }
                if (shirt != null)
                {
                    player.Player.clothing.askWearShirt(shirt.id, shirt.quality, shirt.state, true);
                }
                if (vest != null)
                {
                    player.Player.clothing.askWearVest(vest.id, vest.quality, vest.state, true);
                }
                if (pants != null)
                {
                    player.Player.clothing.askWearPants(pants.id, pants.quality, pants.state, true);
                }
                if (glasses != null)
                {
                    player.Player.clothing.askWearGlasses(glasses.id, pants.quality, pants.state, true);
                }
            }

            if (backpack != null)
            {
                player.Player.clothing.askWearBackpack(backpack.id, backpack.quality, backpack.state, true);
            }
        }
示例#19
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (Skin != 0)
            {
                hash ^= Skin.GetHashCode();
            }
            if (Hair != 0)
            {
                hash ^= Hair.GetHashCode();
            }
            if (Shirt != 0)
            {
                hash ^= Shirt.GetHashCode();
            }
            if (Pants != 0)
            {
                hash ^= Pants.GetHashCode();
            }
            if (Hat != 0)
            {
                hash ^= Hat.GetHashCode();
            }
            if (Shoes != 0)
            {
                hash ^= Shoes.GetHashCode();
            }
            if (Gender != 0)
            {
                hash ^= Gender.GetHashCode();
            }
            if (Eyes != 0)
            {
                hash ^= Eyes.GetHashCode();
            }
            if (Backpack != 0)
            {
                hash ^= Backpack.GetHashCode();
            }
            return(hash);
        }
 void changeColor(string c)
 {
     if (c == "red")
     {
         Hat.GetComponent <Renderer>().sharedMaterial   = Red;
         Pants.GetComponent <Renderer>().sharedMaterial = Red;
     }
     else if (c == "blue")
     {
         Hat.GetComponent <Renderer>().sharedMaterial   = BabyBlue;
         Pants.GetComponent <Renderer>().sharedMaterial = BabyBlue;
         Coat.GetComponent <Renderer>().sharedMaterial  = White;
     }
     else if (c == "mario")
     {
         Hat.GetComponent <Renderer>().sharedMaterial   = Red;
         Coat.GetComponent <Renderer>().sharedMaterial  = Red;
         Pants.GetComponent <Renderer>().sharedMaterial = MarioBlue;
     }
 }
示例#21
0
        public void TestPants()
        {
            // Given
            IProduct           pants      = new Pants();
            PurchaseController controller = new PurchaseController();
            ICommand           order      = new OrderCommand(pants);

            controller.InsertCommand(order);
            ICommand buy = new BuyCommand(pants);

            controller.InsertCommand(buy);

            // When
            var order_t = order.Execute();
            var buy_t   = buy.Execute();

            // Then
            Assert.AreEqual("Pants", order_t);
            Assert.AreEqual("29.99", buy_t);
        }
示例#22
0
    private void InstantiatePants(string currentKey, out int pantsType, out int pantsColor)
    {
        Pants pants = pantsDictionary[currentKey];

        _pantsInstance      = Instantiate(_pantsPrefab, pants.PantsPosition, Quaternion.identity);
        _pantsInstanceKey   = currentKey;
        _pantsInstance.name = _pantsInstanceKey;
        _pantsInstance.GetComponent <SpriteRenderer>().sprite = pants.PantsSprite;

        string[] words           = _pantsInstanceKey.Split('_');
        string   pantsTypeString = "";

        // Get the shoeType from the shoeKey
        if (words.Length == 2)
        {
            pantsTypeString = words[1];
        }

        pantsType  = int.Parse(pantsTypeString);
        pantsColor = (int)pants.PantsColor;
    }
示例#23
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello and welcome to my Webshop, " +
                              "this is a clothing company that sells Jackets,pants and T-shirts. Press 1 if you would like to start " +
                              "shopping! ");

            int answer = Convert.ToInt32(Console.ReadLine());

            if (answer == 1)
            {
                Console.WriteLine("Okay, lets start shopping!");
            }

            Console.WriteLine("");
            int option = Convert.ToInt32(Console.ReadLine());

            switch (Convert.ToInt32(Console.ReadLine()))
            {
            case 1:
                if (option == 1)
                {
                    Tshirt.SizeOfTShirt();
                }

                // Jacket user1 = new Jacket();
                break;

            case 2:

                break;

            case 3:
                Pants user3 = new Pants();
                break;

            default:
                // code block
                break;
            }
        }
示例#24
0
        object CanMoveItem(Item item, PlayerInventory playerLoot, uint targetContainer, int targetSlot)
        {
            if (item == null || playerLoot == null)
            {
                return(null);
            }
            if (playerLoot.containerWear.itemList.Contains(item) && Pants.Contains(item.info.shortname))
            {
                return(false);
            }
            Item valid = playerLoot.containerWear.itemList.Where(k => Pants.Contains(k.info.shortname)).Select(k => k).FirstOrDefault();

            if (Pants.Contains(item.info.shortname) && valid == null)
            {
                timer.Once(1, () => MovePants(item, playerLoot.containerWear));
                return(false);
            }
            if (playerLoot.containerWear.uid == targetContainer && valid != null && !Pants.Contains(item.info.shortname) && targetSlot == valid.position)
            {
                return(false);
            }
            return(null);
        }
示例#25
0
        public IItem DropRandomItem()
        {
            Random rnd = new Random();
            int itemNumber = rnd.Next(1, 7);
            IItem itemForDrop;
            switch (this.EnemyType)
            {
                case EnemyType.Ghoul:
                    switch (itemNumber)
                    {
                        case 1:
                            itemForDrop = new Belt();
                            break;
                        case 2:
                            itemForDrop = new Boots();
                            break;
                        case 3:
                            itemForDrop = new Chest();
                            break;
                        case 4:
                            itemForDrop = new Helmet();
                            break;
                        case 5:
                            itemForDrop = new Pants();
                            break;
                        case 6:
                            itemForDrop = new Sword();
                            break;
                        default:
                            itemForDrop = null;
                            break;
                    }

                    break;
                case EnemyType.Hydra:
                    switch (itemNumber)
                    {
                        case 1:
                            itemForDrop = new Belt(ItemType.Uncommon);
                            break;
                        case 2:
                            itemForDrop = new Boots(ItemType.Uncommon);
                            break;
                        case 3:
                            itemForDrop = new Chest(ItemType.Uncommon);
                            break;
                        case 4:
                            itemForDrop = new Helmet(ItemType.Uncommon);
                            break;
                        case 5:
                            itemForDrop = new Pants(ItemType.Uncommon);
                            break;
                        case 6:
                            itemForDrop = new Sword(ItemType.Uncommon);
                            break;
                        default:
                            itemForDrop = null;
                            break;
                    }

                    break;
                case EnemyType.Supremus:
                    switch (itemNumber)
                    {
                        case 1:
                            itemForDrop = new Belt(ItemType.Rare);
                            break;
                        case 2:
                            itemForDrop = new Boots(ItemType.Rare);
                            break;
                        case 3:
                            itemForDrop = new Chest(ItemType.Rare);
                            break;
                        case 4:
                            itemForDrop = new Helmet(ItemType.Rare);
                            break;
                        case 5:
                            itemForDrop = new Pants(ItemType.Rare);
                            break;
                        case 6:
                            itemForDrop = new Sword(ItemType.Rare);
                            break;
                        default:
                            itemForDrop = null;
                            break;
                    }

                    break;
                case EnemyType.Rotface:
                    switch (itemNumber)
                    {
                        case 1:
                            itemForDrop = new Belt(ItemType.Magic);
                            break;
                        case 2:
                            itemForDrop = new Boots(ItemType.Magic);
                            break;
                        case 3:
                            itemForDrop = new Chest(ItemType.Magic);
                            break;
                        case 4:
                            itemForDrop = new Helmet(ItemType.Magic);
                            break;
                        case 5:
                            itemForDrop = new Pants(ItemType.Magic);
                            break;
                        case 6:
                            itemForDrop = new Sword(ItemType.Magic);
                            break;
                        default:
                            itemForDrop = null;
                            break;
                    }

                    break;
                case EnemyType.Lichking:
                    switch (itemNumber)
                    {
                        case 1:
                            itemForDrop = new Belt(ItemType.Legendary);
                            break;
                        case 2:
                            itemForDrop = new Boots(ItemType.Legendary);
                            break;
                        case 3:
                            itemForDrop = new Chest(ItemType.Legendary);
                            break;
                        case 4:
                            itemForDrop = new Helmet(ItemType.Legendary);
                            break;
                        case 5:
                            itemForDrop = new Pants(ItemType.Legendary);
                            break;
                        case 6:
                            itemForDrop = new Sword(ItemType.Legendary);
                            break;
                        default:
                            itemForDrop = null;
                            break;
                    }

                    break;
                case EnemyType.Deathwing:
                    itemForDrop = new Sword(ItemType.Legendary);
                    break;
                default:
                    itemForDrop = null;
                    break;
            }

            return itemForDrop;
        }
示例#26
0
 object OnItemAction(Item item, string cmd)
 {
     if (item == null || item.parent == null || item.parent.playerOwner == null)
     {
         return(null);
     }
     if (cmd == "drop" && item.parent.playerOwner.inventory.containerWear.itemList.Contains(item) && Pants.Contains(item.info.shortname))
     {
         return(true);
     }
     return(null);
 }
示例#27
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();
        }
        public TextureCompositor ComposeTextureMap(Folder characterAssets, BodyColors bodyColors)
        {
            TextureCompositor compositor = new TextureCompositor(AvatarType.R15, 1024, 568);

            // Append BodyColors
            compositor.AppendColor(bodyColors.HeadColor, RECT_HEAD);
            compositor.AppendColor(bodyColors.TorsoColor, RECT_TORSO);
            compositor.AppendColor(bodyColors.LeftArmColor, RECT_LEFT_ARM);
            compositor.AppendColor(bodyColors.LeftLegColor, RECT_LEFT_LEG);
            compositor.AppendColor(bodyColors.RightArmColor, RECT_RIGHT_ARM);
            compositor.AppendColor(bodyColors.RightLegColor, RECT_RIGHT_LEG);

            // Append Face
            Asset face = GetAvatarFace(characterAssets);

            compositor.AppendTexture(face, RECT_HEAD, 1);

            // Append Shirt
            Shirt shirt = characterAssets.FindFirstChildOfClass <Shirt>();

            if (shirt != null)
            {
                Asset shirtTemplate = Asset.GetByAssetId(shirt.ShirtTemplate);
                compositor.AppendTexture(shirtTemplate, COMPOSIT_TORSO, RECT_TORSO, 2);
                compositor.AppendTexture(shirtTemplate, COMPOSIT_LEFT_LIMB, RECT_LEFT_ARM, 1);
                compositor.AppendTexture(shirtTemplate, COMPOSIT_RIGHT_LIMB, RECT_RIGHT_ARM, 1);
            }

            // Append Pants
            Pants pants = characterAssets.FindFirstChildOfClass <Pants>();

            if (pants != null)
            {
                Asset pantsTemplate = Asset.GetByAssetId(pants.PantsTemplate);
                compositor.AppendTexture(pantsTemplate, COMPOSIT_TORSO, RECT_TORSO, 1);
                compositor.AppendTexture(pantsTemplate, COMPOSIT_LEFT_LIMB, RECT_LEFT_LEG, 1);
                compositor.AppendTexture(pantsTemplate, COMPOSIT_RIGHT_LIMB, RECT_RIGHT_LEG, 1);
            }

            // Append T-Shirt
            ShirtGraphic tshirt = characterAssets.FindFirstChildOfClass <ShirtGraphic>();

            if (tshirt != null)
            {
                Asset graphic = Asset.GetByAssetId(tshirt.Graphic);
                compositor.AppendTexture(graphic, RECT_TSHIRT, 4);
            }

            // Append Package Overlays
            Folder      avatarParts   = characterAssets.FindFirstChild <Folder>("ASSEMBLY");
            List <Limb> overlainLimbs = new List <Limb>();

            foreach (MeshPart part in avatarParts.GetChildrenOfClass <MeshPart>())
            {
                Limb   limb      = GetLimb(part);
                string textureId = part.TextureID;
                if (textureId != null && textureId.Length > 0 && !overlainLimbs.Contains(limb))
                {
                    Asset overlay = Asset.GetByAssetId(textureId);

                    if (limb == Limb.Torso)
                    {
                        compositor.AppendTexture(overlay, RECT_TORSO, 3);
                    }
                    else if (limb == Limb.LeftArm)
                    {
                        compositor.AppendTexture(overlay, RECT_LEFT_ARM, 3);
                    }
                    else if (limb == Limb.RightArm)
                    {
                        compositor.AppendTexture(overlay, RECT_RIGHT_ARM, 3);
                    }
                    else if (limb == Limb.LeftLeg)
                    {
                        compositor.AppendTexture(overlay, RECT_LEFT_LEG, 3);
                    }
                    else if (limb == Limb.RightLeg)
                    {
                        compositor.AppendTexture(overlay, RECT_RIGHT_LEG, 3);
                    }

                    overlainLimbs.Add(limb);
                }
            }

            return(compositor);
        }
        private static void GetItem(IItem itemDto, User currentUser, UnitOfWork unitOfWork)
        {
            var itemArgs = itemDto.ToString().Trim().Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries);
            var type     = itemArgs[0];
            var part     = itemArgs[1];

            if (itemArgs.Length == 4)
            {
                switch (part)
                {
                case "Sword":
                    var sword = new Sword {
                        ItemType = (ItemType)Enum.Parse(typeof(ItemType), type, true)
                    };
                    var attackItem = new AttackItem
                    {
                        ItemType = sword.ItemType.ToString(),
                        Price    = sword.Price,
                        Attack   = sword.Attack,
                        Part     = part
                    };
                    currentUser.Hero.Inventory.Items.Add(attackItem);
                    break;

                case "Helmet":
                    var helmet = new Helmet {
                        ItemType = (ItemType)Enum.Parse(typeof(ItemType), type, true)
                    };
                    var defenceItem = new DefenceItem
                    {
                        ItemType = helmet.ItemType.ToString(),
                        Price    = helmet.Price,
                        Defence  = helmet.Defence,
                        Part     = part
                    };
                    currentUser.Hero.Inventory.Items.Add(defenceItem);
                    break;
                }
            }
            else
            {
                switch (part)
                {
                case "Belt":
                    var belt = new Belt {
                        ItemType = (ItemType)Enum.Parse(typeof(ItemType), type, true)
                    };
                    var beltItem = new DefenceAttack
                    {
                        ItemType = belt.ItemType.ToString(),
                        Price    = belt.Price,
                        Defence  = belt.Defence,
                        Attack   = belt.Attack,
                        Part     = part
                    };
                    currentUser.Hero.Inventory.Items.Add(beltItem);
                    break;

                case "Boots":
                    var boots = new Boots {
                        ItemType = (ItemType)Enum.Parse(typeof(ItemType), type, true)
                    };
                    var bootsItem = new DefenceAttack
                    {
                        ItemType = boots.ItemType.ToString(),
                        Price    = boots.Price,
                        Defence  = boots.Defence,
                        Attack   = boots.Attack,
                        Part     = part
                    };
                    currentUser.Hero.Inventory.Items.Add(bootsItem);
                    break;

                case "Chest":
                    var chest = new Chest {
                        ItemType = (ItemType)Enum.Parse(typeof(ItemType), type, true)
                    };
                    var chestItem = new DefenceAttack
                    {
                        ItemType = chest.ItemType.ToString(),
                        Price    = chest.Price,
                        Defence  = chest.Defence,
                        Attack   = chest.Attack,
                        Part     = part
                    };
                    currentUser.Hero.Inventory.Items.Add(chestItem);
                    break;

                case "Pants":
                    var pants = new Pants {
                        ItemType = (ItemType)Enum.Parse(typeof(ItemType), type, true)
                    };
                    var pantsItem = new DefenceAttack
                    {
                        ItemType = pants.ItemType.ToString(),
                        Price    = pants.Price,
                        Defence  = pants.Defence,
                        Attack   = pants.Attack,
                        Part     = part
                    };
                    currentUser.Hero.Inventory.Items.Add(pantsItem);
                    break;
                }
            }

            unitOfWork.Commit();
        }
示例#30
0
 public static void ShowItem(Pants pantsItem)
 {
     Misc.ConsoleLog(ConsoleColor.Red, $"Model: {pantsItem.Model}\nType: {pantsItem.Type}\nSize: {pantsItem.Size}\nPrice: {pantsItem.Price}\nColor: {pantsItem.Color}\nid: {pantsItem.Id}\n");
 }
示例#31
0
 public override string ToString()
 {
     return("Shirt: " + Shirt.ToString() + "\nPants: " + Pants.ToString() + "\nShoes: " + Shoes.ToString());
 }
        public override int GetHashCode()
        {
            int hash = 1;

            if (Skin != 0)
            {
                hash ^= Skin.GetHashCode();
            }
            if (Hair != 0)
            {
                hash ^= Hair.GetHashCode();
            }
            if (Shirt != 0)
            {
                hash ^= Shirt.GetHashCode();
            }
            if (Pants != 0)
            {
                hash ^= Pants.GetHashCode();
            }
            if (Hat != 0)
            {
                hash ^= Hat.GetHashCode();
            }
            if (Shoes != 0)
            {
                hash ^= Shoes.GetHashCode();
            }
            if (Avatar != 0)
            {
                hash ^= Avatar.GetHashCode();
            }
            if (Eyes != 0)
            {
                hash ^= Eyes.GetHashCode();
            }
            if (Backpack != 0)
            {
                hash ^= Backpack.GetHashCode();
            }
            if (AvatarHair.Length != 0)
            {
                hash ^= AvatarHair.GetHashCode();
            }
            if (AvatarShirt.Length != 0)
            {
                hash ^= AvatarShirt.GetHashCode();
            }
            if (AvatarPants.Length != 0)
            {
                hash ^= AvatarPants.GetHashCode();
            }
            if (AvatarHat.Length != 0)
            {
                hash ^= AvatarHat.GetHashCode();
            }
            if (AvatarShoes.Length != 0)
            {
                hash ^= AvatarShoes.GetHashCode();
            }
            if (AvatarEyes.Length != 0)
            {
                hash ^= AvatarEyes.GetHashCode();
            }
            if (AvatarBackpack.Length != 0)
            {
                hash ^= AvatarBackpack.GetHashCode();
            }
            if (AvatarGloves.Length != 0)
            {
                hash ^= AvatarGloves.GetHashCode();
            }
            if (AvatarSocks.Length != 0)
            {
                hash ^= AvatarSocks.GetHashCode();
            }
            if (AvatarBelt.Length != 0)
            {
                hash ^= AvatarBelt.GetHashCode();
            }
            if (AvatarGlasses.Length != 0)
            {
                hash ^= AvatarGlasses.GetHashCode();
            }
            if (AvatarNecklace.Length != 0)
            {
                hash ^= AvatarNecklace.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }