public UIArmorSetCatalogueItemSlot(Tuple <Item, Item, Item, string, int> set, float scale = 0.75f) : base(set.Item1 != null ? set.Item1 : set.Item2, scale)
        {
            this.set         = set;
            this.compareItem = set.Item1 != null ? set.Item1 : set.Item2;

            this.Width.Set(defaultBackgroundTexture.Width * scale, 0f);
            this.Height.Set(defaultBackgroundTexture.Height * 4.6f * scale, 0f);             // 50 heigh

            if (set.Item1 != null)
            {
                Item item = new Item();
                item.SetDefaults(set.Item1.type, false);
                headSlot = new UIItemCatalogueItemSlot(item, scale);
                headSlot.Top.Set(60, 0);
            }
            if (set.Item2 != null)
            {
                Item item = new Item();
                item.SetDefaults(set.Item2.type, false);
                bodySlot = new UIItemCatalogueItemSlot(item, scale);
                bodySlot.Top.Set(100, 0);
            }
            if (set.Item3 != null)
            {
                Item item = new Item();
                item.SetDefaults(set.Item3.type, false);
                legsSlot = new UIItemCatalogueItemSlot(item, scale);
                legsSlot.Top.Set(140, 0);
            }
            if (showItems)
            {
                if (headSlot != null)
                {
                    UICommon.AddOrRemoveChild(this, headSlot, showItems);
                }
                if (bodySlot != null)
                {
                    UICommon.AddOrRemoveChild(this, bodySlot, showItems);
                }
                if (legsSlot != null)
                {
                    UICommon.AddOrRemoveChild(this, legsSlot, showItems);
                }
            }
        }
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            if (needsUpdate)
            {
                if (headSlot != null)
                {
                    UICommon.AddOrRemoveChild(this, headSlot, showItems);
                }
                if (bodySlot != null)
                {
                    UICommon.AddOrRemoveChild(this, bodySlot, showItems);
                }
                if (legsSlot != null)
                {
                    UICommon.AddOrRemoveChild(this, legsSlot, showItems);
                }

                if (showItems)
                {
                    this.Height.Set(defaultBackgroundTexture.Height * 4.6f * scale, 0f);                     // 50 heigh
                }
                else
                {
                    this.Height.Set(defaultBackgroundTexture.Height * 1.6f * scale, 0f);
                }

                needsUpdate = false;
            }

            if (Main.GameUpdateCount != lastUpdate)
            {
                lastUpdate = Main.GameUpdateCount;
                if (drawPlayer == null)
                {
                    drawPlayer = new Player();
                }
                drawPlayer.skinVariant     = Main.LocalPlayer.skinVariant;
                drawPlayer.Male            = Main.LocalPlayer.Male;
                drawPlayer.eyeColor        = Main.LocalPlayer.eyeColor;
                drawPlayer.hairColor       = Main.LocalPlayer.hairColor;
                drawPlayer.skinColor       = Main.LocalPlayer.skinColor;
                drawPlayer.shirtColor      = Main.LocalPlayer.shirtColor;
                drawPlayer.underShirtColor = Main.LocalPlayer.underShirtColor;
                drawPlayer.shoeColor       = Main.LocalPlayer.shoeColor;
                drawPlayer.pantsColor      = Main.LocalPlayer.pantsColor;
                drawPlayer.direction       = 1;
                drawPlayer.gravDir         = 1f;
                drawPlayer.head            = -1;
                drawPlayer.body            = -1;
                drawPlayer.legs            = -1;
                drawPlayer.handon          = -1;
                drawPlayer.handoff         = -1;
                drawPlayer.back            = -1;
                drawPlayer.front           = -1;
                drawPlayer.shoe            = -1;
                drawPlayer.waist           = -1;
                drawPlayer.shield          = -1;
                drawPlayer.neck            = -1;
                drawPlayer.face            = -1;
                drawPlayer.balloon         = -1;
                drawPlayer.wings           = -1;

                if (useDye)
                {
                    for (int i = 0; i < 10; i++)
                    {
                        drawPlayer.dye[i] = Main.LocalPlayer.dye[i].Clone();
                    }
                }
                else
                {
                    for (int i = 0; i < 10; i++)
                    {
                        drawPlayer.dye[i].TurnToAir();
                        drawPlayer.dye[i].dye = 0;
                    }
                }

                if (accessories)
                {
                    for (int i = 0; i < 20; i++)
                    {
                        drawPlayer.armor[i] = Main.LocalPlayer.armor[i].Clone();
                        if (i < 10)
                        {
                            drawPlayer.hideVisual[i] = Main.LocalPlayer.hideVisual[i];
                        }
                    }
                }
                else
                {
                    for (int i = 0; i < 20; i++)
                    {
                        drawPlayer.armor[i].TurnToAir();
                        if (i < 10)
                        {
                            drawPlayer.hideVisual[i] = true;
                        }
                    }
                }

                drawPlayer.PlayerFrame();
                drawPlayer.socialIgnoreLight = true;

                if (animate)
                {
                    drawPlayer.bodyFrame = Main.LocalPlayer.bodyFrame;
                    drawPlayer.legFrame  = Main.LocalPlayer.legFrame;
                }
            }
        }