Ejemplo n.º 1
0
        public Item(ushort newID, EItemOrigin origin, byte newQuality)
        {
            this._id     = newID;
            this.quality = newQuality;
            ItemAsset itemAsset = (ItemAsset)Assets.find(EAssetType.ITEM, this.id);

            if (itemAsset == null)
            {
                this.state = new byte[0];
                return;
            }
            if (origin == EItemOrigin.WORLD && !Provider.modeConfigData.Items.Has_Durability)
            {
                origin = EItemOrigin.CRAFT;
            }
            if (origin != EItemOrigin.WORLD)
            {
                this.amount = itemAsset.amount;
            }
            else
            {
                this.amount = itemAsset.count;
            }
            this.state = itemAsset.getState(origin);
        }
Ejemplo n.º 2
0
        public override Sleek createUI(Player player)
        {
            string text = this.formatReward(player);

            if (string.IsNullOrEmpty(text))
            {
                return(null);
            }
            ItemAsset itemAsset = (ItemAsset)Assets.find(EAssetType.ITEM, this.id);

            if (itemAsset == null)
            {
                return(null);
            }
            SleekBox sleekBox = new SleekBox();

            if (itemAsset.size_y == 1)
            {
                sleekBox.sizeOffset_Y = (int)(itemAsset.size_y * 50 + 10);
            }
            else
            {
                sleekBox.sizeOffset_Y = (int)(itemAsset.size_y * 25 + 10);
            }
            sleekBox.sizeScale_X = 1f;
            SleekImageTexture sleekImageTexture = new SleekImageTexture();

            sleekImageTexture.positionOffset_X = 5;
            sleekImageTexture.positionOffset_Y = 5;
            if (itemAsset.size_y == 1)
            {
                sleekImageTexture.sizeOffset_X = (int)(itemAsset.size_x * 50);
                sleekImageTexture.sizeOffset_Y = (int)(itemAsset.size_y * 50);
            }
            else
            {
                sleekImageTexture.sizeOffset_X = (int)(itemAsset.size_x * 25);
                sleekImageTexture.sizeOffset_Y = (int)(itemAsset.size_y * 25);
            }
            sleekBox.add(sleekImageTexture);
            ItemTool.getIcon(this.id, 100, itemAsset.getState(false), itemAsset, sleekImageTexture.sizeOffset_X, sleekImageTexture.sizeOffset_Y, new ItemIconReady(sleekImageTexture.updateTexture));
            sleekBox.add(new SleekLabel
            {
                positionOffset_X = 10 + sleekImageTexture.sizeOffset_X,
                sizeOffset_X     = -15 - sleekImageTexture.sizeOffset_X,
                sizeScale_X      = 1f,
                sizeScale_Y      = 1f,
                fontAlignment    = 3,
                foregroundTint   = ESleekTint.NONE,
                isRich           = true,
                text             = text
            });
            return(sleekBox);
        }
Ejemplo n.º 3
0
        public Item(ushort newID, byte newAmount, byte newQuality)
        {
            this._id     = newID;
            this.amount  = newAmount;
            this.quality = newQuality;
            ItemAsset itemAsset = (ItemAsset)Assets.find(EAssetType.ITEM, this.id);

            if (itemAsset == null)
            {
                this.state = new byte[0];
                return;
            }
            this.state = itemAsset.getState();
        }
Ejemplo n.º 4
0
        // Token: 0x06002168 RID: 8552 RVA: 0x000B5FB4 File Offset: 0x000B43B4
        public override void updateState(Asset asset, byte[] state)
        {
            base.updateState(asset, state);
            if (!this.isInit)
            {
                this.isInit    = true;
                this._npcAsset = (asset as ObjectNPCAsset);
                if (!Dedicator.isDedicated)
                {
                    Transform transform  = base.transform.FindChild("Root");
                    Transform transform2 = transform.FindChild("Skeleton");
                    this.skull           = transform2.FindChild("Spine").FindChild("Skull");
                    this.anim            = transform.GetComponent <Animation>();
                    this.humanAnim       = transform.GetComponent <HumanAnimator>();
                    transform.localScale = new Vector3((float)((!this.npcAsset.isBackward) ? 1 : -1), 1f, 1f);
                    ItemAsset itemAsset  = (ItemAsset)Assets.find(EAssetType.ITEM, this.npcAsset.primary);
                    ItemAsset itemAsset2 = (ItemAsset)Assets.find(EAssetType.ITEM, this.npcAsset.secondary);
                    ItemAsset itemAsset3 = (ItemAsset)Assets.find(EAssetType.ITEM, this.npcAsset.tertiary);
                    ItemAsset itemAsset4 = null;
                    Transform parent     = transform2.FindChild("Spine").FindChild("Primary_Melee");
                    Transform parent2    = transform2.FindChild("Spine").FindChild("Primary_Large_Gun");
                    Transform parent3    = transform2.FindChild("Spine").FindChild("Primary_Small_Gun");
                    Transform parent4    = transform2.FindChild("Right_Hip").FindChild("Right_Leg").FindChild("Secondary_Melee");
                    Transform parent5    = transform2.FindChild("Right_Hip").FindChild("Right_Leg").FindChild("Secondary_Gun");
                    Transform parent6    = transform2.FindChild("Spine").FindChild("Left_Shoulder").FindChild("Left_Arm").FindChild("Left_Hand").FindChild("Left_Hook");
                    Transform parent7    = transform2.FindChild("Spine").FindChild("Right_Shoulder").FindChild("Right_Arm").FindChild("Right_Hand").FindChild("Right_Hook");
                    this.clothes          = transform.GetComponent <HumanClothes>();
                    this.clothes.shirt    = this.npcAsset.shirt;
                    this.clothes.pants    = this.npcAsset.pants;
                    this.clothes.hat      = this.npcAsset.hat;
                    this.clothes.backpack = this.npcAsset.backpack;
                    this.clothes.vest     = this.npcAsset.vest;
                    this.clothes.mask     = this.npcAsset.mask;
                    this.clothes.glasses  = this.npcAsset.glasses;
                    this.clothes.face     = this.npcAsset.face;
                    this.clothes.hair     = this.npcAsset.hair;
                    this.clothes.beard    = this.npcAsset.beard;
                    this.clothes.skin     = this.npcAsset.skin;
                    this.clothes.color    = this.npcAsset.color;
                    this.clothes.apply();
                    if (this.npcAsset.primary != 0 && itemAsset != null)
                    {
                        Material  material;
                        Transform item = ItemTool.getItem(itemAsset.id, 0, 100, itemAsset.getState(), false, itemAsset, null, out material, null);
                        if (this.npcAsset.equipped == ESlotType.PRIMARY)
                        {
                            if (itemAsset.isBackward)
                            {
                                item.transform.parent = parent6;
                            }
                            else
                            {
                                item.transform.parent = parent7;
                            }
                            itemAsset4 = itemAsset;
                        }
                        else if (itemAsset.type == EItemType.MELEE)
                        {
                            item.transform.parent = parent;
                        }
                        else if (itemAsset.slot == ESlotType.PRIMARY)
                        {
                            item.transform.parent = parent2;
                        }
                        else
                        {
                            item.transform.parent = parent3;
                        }
                        item.localPosition = Vector3.zero;
                        item.localRotation = Quaternion.Euler(0f, 0f, 90f);
                        item.localScale    = Vector3.one;
                        UnityEngine.Object.Destroy(item.GetComponent <Collider>());
                        Layerer.enemy(item);
                    }
                    if (this.npcAsset.secondary != 0 && itemAsset2 != null)
                    {
                        Material  material2;
                        Transform item2 = ItemTool.getItem(itemAsset2.id, 0, 100, itemAsset2.getState(), false, itemAsset2, null, out material2, null);
                        if (this.npcAsset.equipped == ESlotType.SECONDARY)
                        {
                            if (itemAsset2.isBackward)
                            {
                                item2.transform.parent = parent6;
                            }
                            else
                            {
                                item2.transform.parent = parent7;
                            }
                            itemAsset4 = itemAsset2;
                        }
                        else if (itemAsset2.type == EItemType.MELEE)
                        {
                            item2.transform.parent = parent4;
                        }
                        else
                        {
                            item2.transform.parent = parent5;
                        }
                        item2.localPosition = Vector3.zero;
                        item2.localRotation = Quaternion.Euler(0f, 0f, 90f);
                        item2.localScale    = Vector3.one;
                        UnityEngine.Object.Destroy(item2.GetComponent <Collider>());
                        Layerer.enemy(item2);
                    }
                    if (this.npcAsset.tertiary != 0 && itemAsset3 != null && this.npcAsset.equipped == ESlotType.TERTIARY)
                    {
                        Material  material3;
                        Transform item3 = ItemTool.getItem(itemAsset3.id, 0, 100, itemAsset3.getState(), false, itemAsset3, null, out material3, null);
                        if (itemAsset3.isBackward)
                        {
                            item3.transform.parent = parent6;
                        }
                        else
                        {
                            item3.transform.parent = parent7;
                        }
                        itemAsset4          = itemAsset3;
                        item3.localPosition = Vector3.zero;
                        item3.localRotation = Quaternion.Euler(0f, 0f, 90f);
                        item3.localScale    = Vector3.one;
                        UnityEngine.Object.Destroy(item3.GetComponent <Collider>());
                        Layerer.enemy(item3);
                    }
                    if (itemAsset4 != null)
                    {
                        Transform mix  = transform2.FindChild("Spine").FindChild("Left_Shoulder");
                        Transform mix2 = transform2.FindChild("Spine").FindChild("Right_Shoulder");
                        int       i    = 0;
                        while (i < itemAsset4.animations.Length)
                        {
                            AnimationClip animationClip = itemAsset4.animations[i];
                            if (animationClip.name == "Equip")
                            {
                                this.hasEquip = true;
                                goto IL_683;
                            }
                            if (animationClip.name == "Sprint_Start" || animationClip.name == "Sprint_Stop")
                            {
                                this.hasSafety = true;
                                goto IL_683;
                            }
                            if (animationClip.name == "Inspect")
                            {
                                this.hasInspect = true;
                                goto IL_683;
                            }
IL_6E3:
                            i++;
                            continue;
IL_683:
                            this.anim.AddClip(animationClip, animationClip.name);
                            this.anim[animationClip.name].AddMixingTransform(mix, true);
                            this.anim[animationClip.name].AddMixingTransform(mix2, true);
                            this.anim[animationClip.name].layer = 1;
                            goto IL_6E3;
                        }
                    }
                    this.anim["Idle_Kick_Left"].AddMixingTransform(transform2.FindChild("Left_Hip"), true);
                    this.anim["Idle_Kick_Left"].layer = 2;
                    this.anim["Idle_Kick_Right"].AddMixingTransform(transform2.FindChild("Right_Hip"), true);
                    this.anim["Idle_Kick_Right"].layer = 2;
                    this.updateAnimation();
                }
            }
        }
Ejemplo n.º 5
0
        // Token: 0x060029F8 RID: 10744 RVA: 0x001048B8 File Offset: 0x00102CB8
        public void applyHero()
        {
            this.shirt          = 0;
            this.pants          = 0;
            this.hat            = 0;
            this.backpack       = 0;
            this.vest           = 0;
            this.mask           = 0;
            this.glasses        = 0;
            this.primaryItem    = 0;
            this.primaryState   = new byte[0];
            this.secondaryItem  = 0;
            this.secondaryState = new byte[0];
            for (int i = 0; i < PlayerInventory.SKILLSETS_HERO[(int)((byte)this.skillset)].Length; i++)
            {
                ushort    id        = PlayerInventory.SKILLSETS_HERO[(int)((byte)this.skillset)][i];
                ItemAsset itemAsset = (ItemAsset)Assets.find(EAssetType.ITEM, id);
                if (itemAsset != null)
                {
                    switch (itemAsset.type)
                    {
                    case EItemType.HAT:
                        this.hat = id;
                        break;

                    case EItemType.PANTS:
                        this.pants = id;
                        break;

                    case EItemType.SHIRT:
                        this.shirt = id;
                        break;

                    case EItemType.MASK:
                        this.mask = id;
                        break;

                    case EItemType.BACKPACK:
                        this.backpack = id;
                        break;

                    case EItemType.VEST:
                        this.vest = id;
                        break;

                    case EItemType.GLASSES:
                        this.glasses = id;
                        break;

                    case EItemType.GUN:
                    case EItemType.MELEE:
                        if (itemAsset.slot == ESlotType.PRIMARY)
                        {
                            this.primaryItem  = id;
                            this.primaryState = itemAsset.getState(EItemOrigin.ADMIN);
                        }
                        else
                        {
                            this.secondaryItem  = id;
                            this.secondaryState = itemAsset.getState(EItemOrigin.ADMIN);
                        }
                        break;
                    }
                }
            }
        }
Ejemplo n.º 6
0
        public SleekVendor(VendorElement newElement)
        {
            this.element = newElement;
            base.init();
            this.fontStyle     = 1;
            this.fontAlignment = 4;
            this.fontSize      = SleekRender.FONT_SIZE;
            this.calculateContent();
            ItemAsset itemAsset = (ItemAsset)Assets.find(EAssetType.ITEM, this.element.id);

            if (itemAsset == null)
            {
                return;
            }
            SleekImageTexture sleekImageTexture = new SleekImageTexture();

            sleekImageTexture.positionOffset_X = 5;
            sleekImageTexture.positionOffset_Y = 5;
            if (itemAsset.size_y == 1)
            {
                sleekImageTexture.sizeOffset_X = (int)(itemAsset.size_x * 100);
                sleekImageTexture.sizeOffset_Y = (int)(itemAsset.size_y * 100);
            }
            else
            {
                sleekImageTexture.sizeOffset_X = (int)(itemAsset.size_x * 50);
                sleekImageTexture.sizeOffset_Y = (int)(itemAsset.size_y * 50);
            }
            base.add(sleekImageTexture);
            ItemTool.getIcon(this.element.id, 100, itemAsset.getState(false), itemAsset, sleekImageTexture.sizeOffset_X, sleekImageTexture.sizeOffset_Y, new ItemIconReady(sleekImageTexture.updateTexture));
            base.sizeOffset_Y = sleekImageTexture.sizeOffset_Y + 10;
            base.add(new SleekLabel
            {
                positionOffset_X = sleekImageTexture.sizeOffset_X + 10,
                positionOffset_Y = 5,
                sizeOffset_X     = -sleekImageTexture.sizeOffset_X - 15,
                sizeOffset_Y     = 30,
                sizeScale_X      = 1f,
                text             = itemAsset.itemName,
                fontSize         = 14,
                fontAlignment    = 0,
                foregroundTint   = ESleekTint.NONE,
                foregroundColor  = ItemTool.getRarityColorUI(itemAsset.rarity)
            });
            base.add(new SleekLabel
            {
                positionOffset_X = sleekImageTexture.sizeOffset_X + 10,
                positionOffset_Y = 25,
                sizeOffset_X     = -sleekImageTexture.sizeOffset_X - 15,
                sizeOffset_Y     = -30,
                sizeScale_X      = 1f,
                sizeScale_Y      = 1f,
                fontAlignment    = 0,
                foregroundTint   = ESleekTint.NONE,
                isRich           = true,
                text             = itemAsset.itemDescription
            });
            SleekLabel sleekLabel = new SleekLabel();

            sleekLabel.positionOffset_X = sleekImageTexture.sizeOffset_X + 10;
            sleekLabel.positionOffset_Y = -35;
            sleekLabel.positionScale_Y  = 1f;
            sleekLabel.sizeOffset_X     = -sleekImageTexture.sizeOffset_X - 15;
            sleekLabel.sizeOffset_Y     = 30;
            sleekLabel.sizeScale_X      = 1f;
            sleekLabel.fontAlignment    = 8;
            sleekLabel.foregroundTint   = ESleekTint.NONE;
            sleekLabel.foregroundColor  = Palette.COLOR_Y;
            base.add(sleekLabel);
            if (this.element is VendorBuying)
            {
                sleekLabel.text = PlayerNPCVendorUI.localization.format("Price", new object[]
                {
                    this.element.cost
                });
            }
            else
            {
                sleekLabel.text = PlayerNPCVendorUI.localization.format("Cost", new object[]
                {
                    this.element.cost
                });
            }
            this.amountLabel = new SleekLabel();
            this.amountLabel.positionOffset_X = sleekImageTexture.sizeOffset_X + 10;
            this.amountLabel.positionOffset_Y = -35;
            this.amountLabel.positionScale_Y  = 1f;
            this.amountLabel.sizeOffset_X     = -sleekImageTexture.sizeOffset_X - 15;
            this.amountLabel.sizeOffset_Y     = 30;
            this.amountLabel.sizeScale_X      = 1f;
            this.amountLabel.fontAlignment    = 6;
            this.amountLabel.foregroundTint   = ESleekTint.NONE;
            base.add(this.amountLabel);
            this.updateAmount();
        }
Ejemplo n.º 7
0
        public override Sleek createUI(Player player, Texture2D icon)
        {
            string text = this.formatCondition(player);

            if (string.IsNullOrEmpty(text))
            {
                return(null);
            }
            ItemAsset itemAsset = (ItemAsset)Assets.find(EAssetType.ITEM, this.id);

            if (itemAsset == null)
            {
                return(null);
            }
            SleekBox sleekBox = new SleekBox();

            if (itemAsset.size_y == 1)
            {
                sleekBox.sizeOffset_Y = (int)(itemAsset.size_y * 50 + 10);
            }
            else
            {
                sleekBox.sizeOffset_Y = (int)(itemAsset.size_y * 25 + 10);
            }
            sleekBox.sizeScale_X = 1f;
            if (icon != null)
            {
                sleekBox.add(new SleekImageTexture(icon)
                {
                    positionOffset_X = 5,
                    positionOffset_Y = -10,
                    positionScale_Y  = 0.5f,
                    sizeOffset_X     = 20,
                    sizeOffset_Y     = 20
                });
            }
            SleekImageTexture sleekImageTexture = new SleekImageTexture();

            if (icon != null)
            {
                sleekImageTexture.positionOffset_X = 30;
            }
            else
            {
                sleekImageTexture.positionOffset_X = 5;
            }
            sleekImageTexture.positionOffset_Y = 5;
            if (itemAsset.size_y == 1)
            {
                sleekImageTexture.sizeOffset_X = (int)(itemAsset.size_x * 50);
                sleekImageTexture.sizeOffset_Y = (int)(itemAsset.size_y * 50);
            }
            else
            {
                sleekImageTexture.sizeOffset_X = (int)(itemAsset.size_x * 25);
                sleekImageTexture.sizeOffset_Y = (int)(itemAsset.size_y * 25);
            }
            sleekBox.add(sleekImageTexture);
            ItemTool.getIcon(this.id, 100, itemAsset.getState(false), itemAsset, sleekImageTexture.sizeOffset_X, sleekImageTexture.sizeOffset_Y, new ItemIconReady(sleekImageTexture.updateTexture));
            SleekLabel sleekLabel = new SleekLabel();

            if (icon != null)
            {
                sleekLabel.positionOffset_X = 35 + sleekImageTexture.sizeOffset_X;
                sleekLabel.sizeOffset_X     = -40 - sleekImageTexture.sizeOffset_X;
            }
            else
            {
                sleekLabel.positionOffset_X = 10 + sleekImageTexture.sizeOffset_X;
                sleekLabel.sizeOffset_X     = -15 - sleekImageTexture.sizeOffset_X;
            }
            sleekLabel.sizeScale_X    = 1f;
            sleekLabel.sizeScale_Y    = 1f;
            sleekLabel.fontAlignment  = 3;
            sleekLabel.foregroundTint = ESleekTint.NONE;
            sleekLabel.isRich         = true;
            sleekLabel.text           = text;
            sleekBox.add(sleekLabel);
            return(sleekBox);
        }
Ejemplo n.º 8
0
        public SleekBlueprint(Blueprint newBlueprint)
        {
            this._blueprint = newBlueprint;
            base.init();
            this.fontStyle     = 1;
            this.fontAlignment = 4;
            this.fontSize      = SleekRender.FONT_SIZE;
            this.calculateContent();
            SleekLabel sleekLabel = new SleekLabel();

            sleekLabel.positionOffset_X = 5;
            sleekLabel.positionOffset_Y = 5;
            sleekLabel.sizeOffset_X     = -10;
            sleekLabel.sizeOffset_Y     = 30;
            sleekLabel.sizeScale_X      = 1f;
            sleekLabel.foregroundColor  = ((!this.blueprint.hasSupplies || !this.blueprint.hasTool || !this.blueprint.hasItem || !this.blueprint.hasSkills) ? Palette.COLOR_R : Palette.COLOR_G);
            sleekLabel.foregroundTint   = ESleekTint.NONE;
            sleekLabel.fontSize         = 14;
            base.add(sleekLabel);
            if (this.blueprint.skill != EBlueprintSkill.NONE)
            {
                base.add(new SleekLabel
                {
                    positionOffset_X = 5,
                    positionOffset_Y = -35,
                    positionScale_Y  = 1f,
                    sizeOffset_X     = -10,
                    sizeOffset_Y     = 30,
                    sizeScale_X      = 1f,
                    text             = PlayerDashboardCraftingUI.localization.format("Skill_" + (int)this.blueprint.skill, new object[]
                    {
                        PlayerDashboardSkillsUI.localization.format("Level_" + this.blueprint.level)
                    }),
                    foregroundColor = ((!this.blueprint.hasSkills) ? Palette.COLOR_R : Palette.COLOR_G),
                    foregroundTint  = ESleekTint.NONE,
                    fontSize        = 14
                });
            }
            Sleek sleek = new Sleek();

            sleek.positionOffset_Y = 40;
            sleek.positionScale_X  = 0.5f;
            sleek.sizeOffset_Y     = -45;
            sleek.sizeScale_Y      = 1f;
            base.add(sleek);
            int num = 0;

            for (int i = 0; i < this.blueprint.supplies.Length; i++)
            {
                BlueprintSupply blueprintSupply = this.blueprint.supplies[i];
                ItemAsset       itemAsset       = (ItemAsset)Assets.find(EAssetType.ITEM, blueprintSupply.id);
                if (itemAsset != null)
                {
                    SleekLabel sleekLabel2 = sleekLabel;
                    sleekLabel2.text += itemAsset.itemName;
                    SleekImageTexture sleekImageTexture = new SleekImageTexture();
                    sleekImageTexture.positionOffset_X = num;
                    sleekImageTexture.positionOffset_Y = (int)(-itemAsset.size_y * 25);
                    sleekImageTexture.positionScale_Y  = 0.5f;
                    sleekImageTexture.sizeOffset_X     = (int)(itemAsset.size_x * 50);
                    sleekImageTexture.sizeOffset_Y     = (int)(itemAsset.size_y * 50);
                    sleek.add(sleekImageTexture);
                    ItemTool.getIcon(blueprintSupply.id, 100, itemAsset.getState(false), itemAsset, new ItemIconReady(sleekImageTexture.updateTexture));
                    SleekLabel sleekLabel3 = new SleekLabel();
                    sleekLabel3.positionOffset_X = -100;
                    sleekLabel3.positionOffset_Y = -30;
                    sleekLabel3.positionScale_Y  = 1f;
                    sleekLabel3.sizeOffset_X     = 100;
                    sleekLabel3.sizeOffset_Y     = 30;
                    sleekLabel3.sizeScale_X      = 1f;
                    sleekLabel3.foregroundTint   = ESleekTint.NONE;
                    sleekLabel3.fontAlignment    = 5;
                    sleekLabel3.text             = blueprintSupply.hasAmount + "/" + blueprintSupply.amount;
                    sleekImageTexture.add(sleekLabel3);
                    SleekLabel sleekLabel4 = sleekLabel;
                    string     text        = sleekLabel4.text;
                    sleekLabel4.text = string.Concat(new object[]
                    {
                        text,
                        " ",
                        blueprintSupply.hasAmount,
                        "/",
                        blueprintSupply.amount
                    });
                    if (this.blueprint.type == EBlueprintType.AMMO)
                    {
                        if (blueprintSupply.hasAmount == 0 || blueprintSupply.amount == 0)
                        {
                            sleekLabel3.backgroundColor = Palette.COLOR_R;
                            sleekLabel3.foregroundColor = Palette.COLOR_R;
                        }
                    }
                    else if (blueprintSupply.hasAmount < blueprintSupply.amount)
                    {
                        sleekLabel3.backgroundColor = Palette.COLOR_R;
                        sleekLabel3.foregroundColor = Palette.COLOR_R;
                    }
                    num += (int)(itemAsset.size_x * 50 + 25);
                    if (i < this.blueprint.supplies.Length - 1 || this.blueprint.tool != 0 || this.blueprint.type == EBlueprintType.REPAIR || this.blueprint.type == EBlueprintType.AMMO)
                    {
                        SleekLabel sleekLabel5 = sleekLabel;
                        sleekLabel5.text += " + ";
                        sleek.add(new SleekImageTexture((Texture2D)PlayerDashboardCraftingUI.icons.load("Plus"))
                        {
                            positionOffset_X = num,
                            positionOffset_Y = -20,
                            positionScale_Y  = 0.5f,
                            sizeOffset_X     = 40,
                            sizeOffset_Y     = 40,
                            backgroundTint   = ESleekTint.FOREGROUND
                        });
                        num += 65;
                    }
                }
            }
            if (this.blueprint.tool != 0)
            {
                ItemAsset itemAsset2 = (ItemAsset)Assets.find(EAssetType.ITEM, this.blueprint.tool);
                if (itemAsset2 != null)
                {
                    SleekLabel sleekLabel6 = sleekLabel;
                    sleekLabel6.text += itemAsset2.itemName;
                    SleekImageTexture sleekImageTexture2 = new SleekImageTexture();
                    sleekImageTexture2.positionOffset_X = num;
                    sleekImageTexture2.positionOffset_Y = (int)(-itemAsset2.size_y * 25);
                    sleekImageTexture2.positionScale_Y  = 0.5f;
                    sleekImageTexture2.sizeOffset_X     = (int)(itemAsset2.size_x * 50);
                    sleekImageTexture2.sizeOffset_Y     = (int)(itemAsset2.size_y * 50);
                    sleek.add(sleekImageTexture2);
                    ItemTool.getIcon(this.blueprint.tool, 100, itemAsset2.getState(), itemAsset2, new ItemIconReady(sleekImageTexture2.updateTexture));
                    SleekLabel sleekLabel7 = new SleekLabel();
                    sleekLabel7.positionOffset_X = -100;
                    sleekLabel7.positionOffset_Y = -30;
                    sleekLabel7.positionScale_Y  = 1f;
                    sleekLabel7.sizeOffset_X     = 100;
                    sleekLabel7.sizeOffset_Y     = 30;
                    sleekLabel7.sizeScale_X      = 1f;
                    sleekLabel7.foregroundTint   = ESleekTint.NONE;
                    sleekLabel7.fontAlignment    = 5;
                    sleekLabel7.text             = this.blueprint.tools + "/1";
                    sleekImageTexture2.add(sleekLabel7);
                    SleekLabel sleekLabel8 = sleekLabel;
                    string     text        = sleekLabel8.text;
                    sleekLabel8.text = string.Concat(new object[]
                    {
                        text,
                        " ",
                        this.blueprint.tools,
                        "/1"
                    });
                    if (!this.blueprint.hasTool)
                    {
                        sleekLabel7.backgroundColor = Palette.COLOR_R;
                        sleekLabel7.foregroundColor = Palette.COLOR_R;
                    }
                    num += (int)(itemAsset2.size_x * 50 + 25);
                    if (this.blueprint.type == EBlueprintType.REPAIR || this.blueprint.type == EBlueprintType.AMMO)
                    {
                        SleekLabel sleekLabel9 = sleekLabel;
                        sleekLabel9.text += " + ";
                        sleek.add(new SleekImageTexture((Texture2D)PlayerDashboardCraftingUI.icons.load("Plus"))
                        {
                            positionOffset_X = num,
                            positionOffset_Y = -20,
                            positionScale_Y  = 0.5f,
                            sizeOffset_X     = 40,
                            sizeOffset_Y     = 40,
                            backgroundTint   = ESleekTint.FOREGROUND
                        });
                        num += 65;
                    }
                }
            }
            if (this.blueprint.type == EBlueprintType.REPAIR || this.blueprint.type == EBlueprintType.AMMO)
            {
                ItemAsset itemAsset3 = (ItemAsset)Assets.find(EAssetType.ITEM, this.blueprint.outputs[0].id);
                if (itemAsset3 != null)
                {
                    SleekLabel sleekLabel10 = sleekLabel;
                    sleekLabel10.text += itemAsset3.itemName;
                    SleekImageTexture sleekImageTexture3 = new SleekImageTexture();
                    sleekImageTexture3.positionOffset_X = num;
                    sleekImageTexture3.positionOffset_Y = (int)(-itemAsset3.size_y * 25);
                    sleekImageTexture3.positionScale_Y  = 0.5f;
                    sleekImageTexture3.sizeOffset_X     = (int)(itemAsset3.size_x * 50);
                    sleekImageTexture3.sizeOffset_Y     = (int)(itemAsset3.size_y * 50);
                    sleek.add(sleekImageTexture3);
                    ItemTool.getIcon(this.blueprint.outputs[0].id, 100, itemAsset3.getState(), itemAsset3, new ItemIconReady(sleekImageTexture3.updateTexture));
                    SleekLabel sleekLabel11 = new SleekLabel();
                    sleekLabel11.positionOffset_X = -100;
                    sleekLabel11.positionOffset_Y = -30;
                    sleekLabel11.positionScale_Y  = 1f;
                    sleekLabel11.sizeOffset_X     = 100;
                    sleekLabel11.sizeOffset_Y     = 30;
                    sleekLabel11.sizeScale_X      = 1f;
                    sleekLabel11.foregroundTint   = ESleekTint.NONE;
                    sleekLabel11.fontAlignment    = 5;
                    if (this.blueprint.type == EBlueprintType.REPAIR)
                    {
                        SleekLabel sleekLabel12 = sleekLabel;
                        string     text         = sleekLabel12.text;
                        sleekLabel12.text = string.Concat(new object[]
                        {
                            text,
                            " ",
                            this.blueprint.items,
                            "%"
                        });
                        sleekLabel11.text            = this.blueprint.items + "%";
                        sleekLabel11.backgroundColor = ItemTool.getQualityColor((float)this.blueprint.items / 100f);
                        sleekLabel11.foregroundColor = sleekLabel11.backgroundColor;
                    }
                    else if (this.blueprint.type == EBlueprintType.AMMO)
                    {
                        SleekLabel sleekLabel13 = sleekLabel;
                        string     text         = sleekLabel13.text;
                        sleekLabel13.text = string.Concat(new object[]
                        {
                            text,
                            " ",
                            this.blueprint.items,
                            "/",
                            this.blueprint.products
                        });
                        sleekLabel11.text = this.blueprint.items + "/" + itemAsset3.amount;
                    }
                    if (!this.blueprint.hasItem)
                    {
                        sleekLabel11.backgroundColor = Palette.COLOR_R;
                        sleekLabel11.foregroundColor = Palette.COLOR_R;
                    }
                    sleekImageTexture3.add(sleekLabel11);
                    num += (int)(itemAsset3.size_x * 50 + 25);
                }
            }
            SleekLabel sleekLabel14 = sleekLabel;

            sleekLabel14.text += " = ";
            sleek.add(new SleekImageTexture((Texture2D)PlayerDashboardCraftingUI.icons.load("Equals"))
            {
                positionOffset_X = num,
                positionOffset_Y = -20,
                positionScale_Y  = 0.5f,
                sizeOffset_X     = 40,
                sizeOffset_Y     = 40,
                backgroundTint   = ESleekTint.FOREGROUND
            });
            num += 65;
            for (int j = 0; j < this.blueprint.outputs.Length; j++)
            {
                BlueprintOutput blueprintOutput = this.blueprint.outputs[j];
                ItemAsset       itemAsset4      = (ItemAsset)Assets.find(EAssetType.ITEM, blueprintOutput.id);
                if (itemAsset4 != null)
                {
                    SleekLabel sleekLabel15 = sleekLabel;
                    sleekLabel15.text += itemAsset4.itemName;
                    SleekImageTexture sleekImageTexture4 = new SleekImageTexture();
                    sleekImageTexture4.positionOffset_X = num;
                    sleekImageTexture4.positionOffset_Y = (int)(-itemAsset4.size_y * 25);
                    sleekImageTexture4.positionScale_Y  = 0.5f;
                    sleekImageTexture4.sizeOffset_X     = (int)(itemAsset4.size_x * 50);
                    sleekImageTexture4.sizeOffset_Y     = (int)(itemAsset4.size_y * 50);
                    sleek.add(sleekImageTexture4);
                    ItemTool.getIcon(blueprintOutput.id, 100, itemAsset4.getState(), itemAsset4, new ItemIconReady(sleekImageTexture4.updateTexture));
                    SleekLabel sleekLabel16 = new SleekLabel();
                    sleekLabel16.positionOffset_X = -100;
                    sleekLabel16.positionOffset_Y = -30;
                    sleekLabel16.positionScale_Y  = 1f;
                    sleekLabel16.sizeOffset_X     = 100;
                    sleekLabel16.sizeOffset_Y     = 30;
                    sleekLabel16.sizeScale_X      = 1f;
                    sleekLabel16.foregroundTint   = ESleekTint.NONE;
                    sleekLabel16.fontAlignment    = 5;
                    if (this.blueprint.type == EBlueprintType.REPAIR)
                    {
                        SleekLabel sleekLabel17 = sleekLabel;
                        sleekLabel17.text           += " 100%";
                        sleekLabel16.text            = "100%";
                        sleekLabel16.backgroundColor = Palette.COLOR_G;
                        sleekLabel16.foregroundColor = Palette.COLOR_G;
                    }
                    else if (this.blueprint.type == EBlueprintType.AMMO)
                    {
                        ItemAsset itemAsset5 = (ItemAsset)Assets.find(EAssetType.ITEM, blueprintOutput.id);
                        if (itemAsset5 != null)
                        {
                            SleekLabel sleekLabel18 = sleekLabel;
                            string     text         = sleekLabel18.text;
                            sleekLabel18.text = string.Concat(new object[]
                            {
                                text,
                                " ",
                                this.blueprint.products,
                                "/",
                                itemAsset5.amount
                            });
                            sleekLabel16.text = this.blueprint.products + "/" + itemAsset5.amount;
                        }
                    }
                    else
                    {
                        SleekLabel sleekLabel19 = sleekLabel;
                        sleekLabel19.text = sleekLabel19.text + " x" + blueprintOutput.amount;
                        sleekLabel16.text = "x" + blueprintOutput.amount.ToString();
                    }
                    sleekImageTexture4.add(sleekLabel16);
                    num += (int)(itemAsset4.size_x * 50);
                    if (j < this.blueprint.outputs.Length - 1)
                    {
                        num += 25;
                        SleekLabel sleekLabel20 = sleekLabel;
                        sleekLabel20.text += " + ";
                        sleek.add(new SleekImageTexture((Texture2D)PlayerDashboardCraftingUI.icons.load("Plus"))
                        {
                            positionOffset_X = num,
                            positionOffset_Y = -20,
                            positionScale_Y  = 0.5f,
                            sizeOffset_X     = 40,
                            sizeOffset_Y     = 40,
                            backgroundTint   = ESleekTint.FOREGROUND
                        });
                        num += 65;
                    }
                }
            }
            sleek.positionOffset_X = -num / 2;
            sleek.sizeOffset_X     = num;
            base.tooltip           = sleekLabel.text;
            this.foregroundTint    = ESleekTint.NONE;
            base.foregroundColor   = sleekLabel.foregroundColor;
        }
Ejemplo n.º 9
0
        public static void viewItem(int newItem, ulong newInstance)
        {
            MenuSurvivorsClothingInspectUI.item = newItem;
            if (MenuSurvivorsClothingInspectUI.model != null)
            {
                Object.Destroy(MenuSurvivorsClothingInspectUI.model.gameObject);
            }
            ushort    inventoryItemID   = Provider.provider.economyService.getInventoryItemID(MenuSurvivorsClothingInspectUI.item);
            ushort    inventorySkinID   = Provider.provider.economyService.getInventorySkinID(MenuSurvivorsClothingInspectUI.item);
            ushort    inventoryMythicID = Provider.provider.economyService.getInventoryMythicID(MenuSurvivorsClothingInspectUI.item);
            ItemAsset itemAsset         = (ItemAsset)Assets.find(EAssetType.ITEM, inventoryItemID);

            if (inventorySkinID != 0)
            {
                SkinAsset skinAsset = (SkinAsset)Assets.find(EAssetType.SKIN, inventorySkinID);
                MenuSurvivorsClothingInspectUI.model = ItemTool.getItem(itemAsset.id, inventorySkinID, 100, itemAsset.getState(), false, itemAsset, skinAsset);
                if (inventoryMythicID != 0)
                {
                    ItemTool.applyEffect(MenuSurvivorsClothingInspectUI.model, inventoryMythicID, EEffectType.THIRD);
                }
            }
            else
            {
                MenuSurvivorsClothingInspectUI.model = ItemTool.getItem(itemAsset.id, 0, 100, itemAsset.getState(), false, itemAsset);
                if (inventoryMythicID != 0)
                {
                    ItemTool.applyEffect(MenuSurvivorsClothingInspectUI.model, inventoryMythicID, EEffectType.HOOK);
                }
            }
            MenuSurvivorsClothingInspectUI.model.parent        = MenuSurvivorsClothingInspectUI.inspect;
            MenuSurvivorsClothingInspectUI.model.localPosition = Vector3.zero;
            if (itemAsset.type == EItemType.MELEE)
            {
                MenuSurvivorsClothingInspectUI.model.localRotation = Quaternion.Euler(0f, -90f, 90f);
            }
            else
            {
                MenuSurvivorsClothingInspectUI.model.localRotation = Quaternion.Euler(-90f, 0f, 0f);
            }
            if (MenuSurvivorsClothingInspectUI.model.GetComponent <Renderer>() != null)
            {
                MenuSurvivorsClothingInspectUI.look.pos = MenuSurvivorsClothingInspectUI.model.GetComponent <Renderer>().bounds.center;
            }
            else if (MenuSurvivorsClothingInspectUI.model.GetComponent <LODGroup>() != null)
            {
                for (int i = 0; i < 4; i++)
                {
                    Transform transform = MenuSurvivorsClothingInspectUI.model.FindChild("Model_" + i);
                    if (!(transform == null))
                    {
                        if (transform.GetComponent <Renderer>() != null)
                        {
                            MenuSurvivorsClothingInspectUI.look.pos = transform.GetComponent <Renderer>().bounds.center;
                            break;
                        }
                    }
                }
            }
            MenuSurvivorsClothingInspectUI.look.pos = MenuSurvivorsClothingInspectUI.model.position + MenuSurvivorsClothingInspectUI.model.rotation * MenuSurvivorsClothingInspectUI.model.GetComponent <BoxCollider>().center;
        }
        // Token: 0x06003740 RID: 14144 RVA: 0x0018163C File Offset: 0x0017FA3C
        public static void viewItem(int newItem, ulong newInstance)
        {
            MenuSurvivorsClothingInspectUI.item     = newItem;
            MenuSurvivorsClothingInspectUI.instance = newInstance;
            if (MenuSurvivorsClothingInspectUI.model != null)
            {
                UnityEngine.Object.Destroy(MenuSurvivorsClothingInspectUI.model.gameObject);
            }
            ushort id;
            ushort id2;

            Provider.provider.economyService.getInventoryTargetID(MenuSurvivorsClothingInspectUI.item, out id, out id2);
            ushort       inventorySkinID   = Provider.provider.economyService.getInventorySkinID(MenuSurvivorsClothingInspectUI.item);
            ushort       inventoryMythicID = Provider.provider.economyService.getInventoryMythicID(MenuSurvivorsClothingInspectUI.item);
            ItemAsset    itemAsset         = (ItemAsset)Assets.find(EAssetType.ITEM, id);
            VehicleAsset vehicleAsset      = (VehicleAsset)Assets.find(EAssetType.VEHICLE, id2);

            if (itemAsset == null && vehicleAsset == null)
            {
                return;
            }
            if (inventorySkinID != 0)
            {
                SkinAsset skinAsset = (SkinAsset)Assets.find(EAssetType.SKIN, inventorySkinID);
                if (vehicleAsset != null)
                {
                    MenuSurvivorsClothingInspectUI.model = VehicleTool.getVehicle(vehicleAsset.id, skinAsset.id, inventoryMythicID, vehicleAsset, skinAsset);
                }
                else
                {
                    ushort    id3        = itemAsset.id;
                    ushort    skin       = inventorySkinID;
                    byte      quality    = 100;
                    byte[]    state      = itemAsset.getState();
                    bool      viewmodel  = false;
                    ItemAsset itemAsset2 = itemAsset;
                    SkinAsset skinAsset2 = skinAsset;
                    if (MenuSurvivorsClothingInspectUI.< > f__mg$cache0 == null)
                    {
                        MenuSurvivorsClothingInspectUI.< > f__mg$cache0 = new GetStatTrackerValueHandler(MenuSurvivorsClothingInspectUI.getInspectedItemStatTrackerValue);
                    }
                    MenuSurvivorsClothingInspectUI.model = ItemTool.getItem(id3, skin, quality, state, viewmodel, itemAsset2, skinAsset2, MenuSurvivorsClothingInspectUI.< > f__mg$cache0);
                    if (inventoryMythicID != 0)
                    {
                        ItemTool.applyEffect(MenuSurvivorsClothingInspectUI.model, inventoryMythicID, EEffectType.THIRD);
                    }
                }
            }
            else
            {
                ushort    id4        = itemAsset.id;
                ushort    skin2      = 0;
                byte      quality2   = 100;
                byte[]    state2     = itemAsset.getState();
                bool      viewmodel2 = false;
                ItemAsset itemAsset3 = itemAsset;
                if (MenuSurvivorsClothingInspectUI.< > f__mg$cache1 == null)
                {
                    MenuSurvivorsClothingInspectUI.< > f__mg$cache1 = new GetStatTrackerValueHandler(MenuSurvivorsClothingInspectUI.getInspectedItemStatTrackerValue);
                }
                MenuSurvivorsClothingInspectUI.model = ItemTool.getItem(id4, skin2, quality2, state2, viewmodel2, itemAsset3, MenuSurvivorsClothingInspectUI.< > f__mg$cache1);
                if (inventoryMythicID != 0)
                {
                    ItemTool.applyEffect(MenuSurvivorsClothingInspectUI.model, inventoryMythicID, EEffectType.HOOK);
                }
            }
            MenuSurvivorsClothingInspectUI.model.parent        = MenuSurvivorsClothingInspectUI.inspect;
            MenuSurvivorsClothingInspectUI.model.localPosition = Vector3.zero;
            if (vehicleAsset != null)
            {
                MenuSurvivorsClothingInspectUI.model.localRotation = Quaternion.identity;
            }
            else if (itemAsset != null && itemAsset.type == EItemType.MELEE)
            {
                MenuSurvivorsClothingInspectUI.model.localRotation = Quaternion.Euler(0f, -90f, 90f);
            }
            else
            {
                MenuSurvivorsClothingInspectUI.model.localRotation = Quaternion.Euler(-90f, 0f, 0f);
            }
            Bounds bounds = new Bounds(MenuSurvivorsClothingInspectUI.model.position, Vector3.zero);

            Collider[] components = MenuSurvivorsClothingInspectUI.model.GetComponents <Collider>();
            foreach (Collider collider in components)
            {
                Bounds bounds2 = collider.bounds;
                bounds.Encapsulate(bounds2);
            }
            MenuSurvivorsClothingInspectUI.look.pos  = bounds.center;
            MenuSurvivorsClothingInspectUI.look.dist = bounds.extents.magnitude * 2.25f;
        }