// 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; }
// Token: 0x06002A15 RID: 10773 RVA: 0x0010512C File Offset: 0x0010352C private static void apply(byte slot, bool showItems) { if (Characters.slots[(int)slot] != null) { UnityEngine.Object.Destroy(Characters.slots[(int)slot].gameObject); } if (!showItems) { return; } ushort num = 0; byte[] state = null; if (slot == 0) { num = Characters.active.primaryItem; state = Characters.active.primaryState; } else if (slot == 1) { num = Characters.active.secondaryItem; state = Characters.active.secondaryState; } if (num == 0) { return; } ItemAsset itemAsset = (ItemAsset)Assets.find(EAssetType.ITEM, num); if (itemAsset != null) { ushort skin = 0; ushort num2 = 0; for (int i = 0; i < Characters.packageSkins.Count; i++) { ulong num3 = Characters.packageSkins[i]; if (num3 != 0UL) { int inventoryItem = Provider.provider.economyService.getInventoryItem(num3); if (inventoryItem != 0) { ushort inventoryItemID = Provider.provider.economyService.getInventoryItemID(inventoryItem); if (inventoryItemID != 0) { if (num == inventoryItemID) { skin = Provider.provider.economyService.getInventorySkinID(inventoryItem); num2 = Provider.provider.economyService.getInventoryMythicID(inventoryItem); break; } } } } } GetStatTrackerValueHandler statTrackerCallback = null; if (slot == 0) { if (Characters.< > f__mg$cache0 == null) { Characters.< > f__mg$cache0 = new GetStatTrackerValueHandler(Characters.getSlot0StatTrackerValue); } statTrackerCallback = Characters.< > f__mg$cache0; } else if (slot == 1) { if (Characters.< > f__mg$cache1 == null) { Characters.< > f__mg$cache1 = new GetStatTrackerValueHandler(Characters.getSlot1StatTrackerValue); } statTrackerCallback = Characters.< > f__mg$cache1; } Transform item = ItemTool.getItem(num, skin, 100, state, false, statTrackerCallback); if (slot == 0) { if (itemAsset.type == EItemType.MELEE) { item.transform.parent = Characters.primaryMeleeSlot; } else if (itemAsset.slot == ESlotType.PRIMARY) { item.transform.parent = Characters.primaryLargeGunSlot; } else { item.transform.parent = Characters.primarySmallGunSlot; } } else if (slot == 1) { if (itemAsset.type == EItemType.MELEE) { item.transform.parent = Characters.secondaryMeleeSlot; } else { item.transform.parent = Characters.secondaryGunSlot; } } item.localPosition = Vector3.zero; item.localRotation = Quaternion.Euler(0f, 0f, 90f); item.localScale = Vector3.one; UnityEngine.Object.Destroy(item.GetComponent <Collider>()); if (num2 != 0) { ItemTool.applyEffect(item, num2, EEffectType.THIRD); } Characters.slots[(int)slot] = item; } }
// Token: 0x06003424 RID: 13348 RVA: 0x00153C00 File Offset: 0x00152000 public static Transform getItem(ushort id, ushort skin, byte quality, byte[] state, bool viewmodel, ItemAsset itemAsset, SkinAsset skinAsset, List <Mesh> outTempMeshes, out Material tempMaterial, GetStatTrackerValueHandler statTrackerCallback) { tempMaterial = null; if (itemAsset != null && itemAsset.item != null) { if (id != itemAsset.id) { Debug.LogError("ID and asset ID are not in sync!"); } Transform transform = UnityEngine.Object.Instantiate <GameObject>(itemAsset.item).transform; transform.name = id.ToString(); if (viewmodel) { Layerer.viewmodel(transform); } if (skinAsset != null) { if (skinAsset.overrideMeshes != null && skinAsset.overrideMeshes.Count > 0) { HighlighterTool.remesh(transform, skinAsset.overrideMeshes, outTempMeshes, true); } else if (outTempMeshes != null) { outTempMeshes.Clear(); } if (skinAsset.primarySkin != null) { if (skinAsset.isPattern) { Material material = UnityEngine.Object.Instantiate <Material>(skinAsset.primarySkin); material.SetTexture("_AlbedoBase", itemAsset.albedoBase); material.SetTexture("_MetallicBase", itemAsset.metallicBase); material.SetTexture("_EmissionBase", itemAsset.emissionBase); HighlighterTool.rematerialize(transform, material, out tempMaterial); } else { HighlighterTool.rematerialize(transform, skinAsset.primarySkin, out tempMaterial); } } } else if (outTempMeshes != null) { outTempMeshes.Clear(); } if (itemAsset.type == EItemType.GUN) { Attachments attachments = transform.gameObject.AddComponent <Attachments>(); attachments.isSkinned = true; attachments.updateGun((ItemGunAsset)itemAsset, skinAsset); attachments.updateAttachments(state, viewmodel); } EStatTrackerType estatTrackerType; int num; if (!Dedicator.isDedicated && statTrackerCallback != null && statTrackerCallback(out estatTrackerType, out num)) { StatTracker statTracker = transform.gameObject.AddComponent <StatTracker>(); statTracker.statTrackerCallback = statTrackerCallback; statTracker.updateStatTracker(viewmodel); } return(transform); } Transform transform2 = new GameObject().transform; transform2.name = id.ToString(); if (viewmodel) { transform2.tag = "Viewmodel"; transform2.gameObject.layer = LayerMasks.VIEWMODEL; } else { transform2.tag = "Item"; transform2.gameObject.layer = LayerMasks.ITEM; } return(transform2); }
// Token: 0x06003423 RID: 13347 RVA: 0x00153BDC File Offset: 0x00151FDC public static Transform getItem(ushort id, ushort skin, byte quality, byte[] state, bool viewmodel, ItemAsset itemAsset, SkinAsset skinAsset, GetStatTrackerValueHandler statTrackerCallback) { Material material; return(ItemTool.getItem(id, skin, quality, state, viewmodel, itemAsset, skinAsset, null, out material, statTrackerCallback)); }
// Token: 0x06003422 RID: 13346 RVA: 0x00153BA8 File Offset: 0x00151FA8 public static Transform getItem(ushort id, ushort skin, byte quality, byte[] state, bool viewmodel, ItemAsset itemAsset, GetStatTrackerValueHandler statTrackerCallback) { SkinAsset skinAsset = null; if (skin != 0) { skinAsset = (SkinAsset)Assets.find(EAssetType.SKIN, skin); } return(ItemTool.getItem(id, skin, quality, state, viewmodel, itemAsset, skinAsset, statTrackerCallback)); }
// Token: 0x06003420 RID: 13344 RVA: 0x00153B48 File Offset: 0x00151F48 public static Transform getItem(ushort id, ushort skin, byte quality, byte[] state, bool viewmodel, GetStatTrackerValueHandler statTrackerCallback) { ItemAsset itemAsset = (ItemAsset)Assets.find(EAssetType.ITEM, id); return(ItemTool.getItem(id, skin, quality, state, viewmodel, itemAsset, statTrackerCallback)); }