// Token: 0x06001880 RID: 6272 RVA: 0x0008379C File Offset: 0x0008199C public void SetSlot(global::LoadoutSlotType slot, IUnityItem item) { if (item != null && this.CanGoInSlot(slot, item.View.ItemType)) { this._items[slot] = item; switch (slot) { case global::LoadoutSlotType.GearHead: case global::LoadoutSlotType.GearFace: case global::LoadoutSlotType.GearGloves: case global::LoadoutSlotType.GearUpperBody: case global::LoadoutSlotType.GearLowerBody: case global::LoadoutSlotType.GearBoots: case global::LoadoutSlotType.GearHolo: this.OnGearChanged(); break; case global::LoadoutSlotType.WeaponMelee: case global::LoadoutSlotType.WeaponPrimary: case global::LoadoutSlotType.WeaponSecondary: case global::LoadoutSlotType.WeaponTertiary: this.OnWeaponChanged(slot); break; } } }
// Token: 0x060013E3 RID: 5091 RVA: 0x00072D48 File Offset: 0x00070F48 public IEnumerator StartUpdateInventoryAndEquipNewItem(IUnityItem item, bool equipNow = false) { if (item != null) { IPopupDialog popupDialog = PopupSystem.ShowMessage(LocalizedStrings.UpdatingInventory, LocalizedStrings.WereUpdatingYourInventoryPleaseWait, PopupSystem.AlertType.None); yield return(UnityRuntime.StartRoutine(Singleton <ItemManager> .Instance.StartGetInventory(false))); PopupSystem.HideMessage(popupDialog); if (equipNow) { this.EquipItem(item); } else if (GameState.Current.HasJoinedGame && GameState.Current.IsInGame) { this.EquipItem(item); } else if (item.View.ItemProperties.ContainsKey(ItemPropertyType.PointsBoost) || item.View.ItemProperties.ContainsKey(ItemPropertyType.XpBoost)) { InventoryItem invItem = this.GetItem(item.View.ID); PopupSystem.ShowItem(item, "\nYou just bought the boost item!\nThis item is activated and expires in " + invItem.DaysRemaining + " days"); } else { PopupSystem.ShowItem(item, string.Empty); } yield return(UnityRuntime.StartRoutine(Singleton <PlayerDataManager> .Instance.StartGetMember())); } yield break; }
// Token: 0x0600188B RID: 6283 RVA: 0x00083BD0 File Offset: 0x00081DD0 private void OnItemPrefabUpdated(IUnityItem item) { KeyValuePair <global::LoadoutSlotType, IUnityItem> keyValuePair = this._items.FirstOrDefault((KeyValuePair <global::LoadoutSlotType, IUnityItem> a) => a.Value.View.ID == item.View.ID); if (keyValuePair.Value != null) { global::LoadoutSlotType key = keyValuePair.Key; IUnityItem unityItem; if (this._items.TryGetValue(key, out unityItem) && unityItem == item) { switch (item.View.ItemType) { case UberstrikeItemType.Weapon: this.OnWeaponChanged(key); break; case UberstrikeItemType.Gear: this.CheckAllGear(); break; } } } else { Debug.LogError("OnItemPrefabUpdated failed because slot not found"); } }
// Token: 0x060013EC RID: 5100 RVA: 0x00073334 File Offset: 0x00071534 public static global::LoadoutSlotType GetSlotTypeForGear(IUnityItem gearItem) { if (gearItem != null) { switch (gearItem.View.ItemClass) { case UberstrikeItemClass.GearBoots: return(global::LoadoutSlotType.GearBoots); case UberstrikeItemClass.GearHead: return(global::LoadoutSlotType.GearHead); case UberstrikeItemClass.GearFace: return(global::LoadoutSlotType.GearFace); case UberstrikeItemClass.GearUpperBody: return(global::LoadoutSlotType.GearUpperBody); case UberstrikeItemClass.GearLowerBody: return(global::LoadoutSlotType.GearLowerBody); case UberstrikeItemClass.GearGloves: return(global::LoadoutSlotType.GearGloves); case UberstrikeItemClass.GearHolo: return(global::LoadoutSlotType.GearHolo); } return(global::LoadoutSlotType.None); } return(global::LoadoutSlotType.None); }
// Token: 0x0600142A RID: 5162 RVA: 0x000741BC File Offset: 0x000723BC private LoadoutManager() { Dictionary <global::LoadoutSlotType, IUnityItem> dictionary = new Dictionary <global::LoadoutSlotType, IUnityItem>(); global::LoadoutSlotType[] array = new global::LoadoutSlotType[] { global::LoadoutSlotType.GearHead, global::LoadoutSlotType.GearGloves, global::LoadoutSlotType.GearUpperBody, global::LoadoutSlotType.GearLowerBody, global::LoadoutSlotType.GearBoots }; int[] array2 = new int[] { 1084, 1086, 1087, 1088, 1089 }; for (int i = 0; i < array.Length; i++) { IUnityItem itemInShop = Singleton <ItemManager> .Instance.GetItemInShop(array2[i]); if (itemInShop != null) { dictionary.Add(array[i], itemInShop); } } this.Loadout = new Loadout(dictionary); }
// Token: 0x06000DF4 RID: 3572 RVA: 0x000602C4 File Offset: 0x0005E4C4 public BaseItemGUI(IUnityItem item, BuyingLocationType location, BuyingRecommendationType recommendation) { this._location = location; this._recommendation = recommendation; if (item != null) { this.Item = item; if (this.Item.View.ItemType == UberstrikeItemType.Weapon) { this.DetailGUI = new WeaponItemDetailGUI(item.View as UberStrikeItemWeaponView); } else if (this.Item.View.ItemClass == UberstrikeItemClass.GearUpperBody || this.Item.View.ItemClass == UberstrikeItemClass.GearLowerBody) { UberStrikeItemGearView uberStrikeItemGearView = item.View as UberStrikeItemGearView; this._armorPoints = uberStrikeItemGearView.ArmorPoints; this.DetailGUI = new ArmorItemDetailGUI(uberStrikeItemGearView, ShopIcons.ItemarmorpointsIcon); } if (this.Item.View != null && !string.IsNullOrEmpty(this.Item.View.Description)) { this._description = this.Item.View.Description; } } else { this.Item = new BaseItemGUI.NullItem(); Debug.LogError("BaseItemGUI creation failed because item is NULL"); } }
// Token: 0x06001439 RID: 5177 RVA: 0x00074A84 File Offset: 0x00072C84 public void SetLoadoutItem(global::LoadoutSlotType loadoutSlotType, IUnityItem item) { if (item == null) { this.ResetSlot(loadoutSlotType); } else { InventoryItem inventoryItem; if (Singleton <InventoryManager> .Instance.TryGetInventoryItem(item.View.ID, out inventoryItem) && inventoryItem.IsValid) { if (item.View.ItemType == UberstrikeItemType.Weapon) { this.RemoveDuplicateWeaponClass(inventoryItem); } this.Loadout.SetSlot(loadoutSlotType, item); } else if (item.View != null) { BuyPanelGUI buyPanelGUI = PanelManager.Instance.OpenPanel(PanelType.BuyItem) as BuyPanelGUI; if (buyPanelGUI) { buyPanelGUI.SetItem(item, BuyingLocationType.Shop, BuyingRecommendationType.None, false); } } UnityRuntime.StartRoutine(Singleton <PlayerDataManager> .Instance.StartSetLoadout()); this.UpdateArmor(); } }
// Token: 0x06002059 RID: 8281 RVA: 0x0001542B File Offset: 0x0001362B public WeaponSlot(global::LoadoutSlotType slot, IUnityItem item, Transform attachPoint, IWeaponController controller) { this.UnityItem = item; this.View = (item.View as UberStrikeItemWeaponView); this.Slot = slot; this.Initialize(controller, attachPoint); }
// Token: 0x0600143E RID: 5182 RVA: 0x00074C5C File Offset: 0x00072E5C public IUnityItem GetItemOnSlot(global::LoadoutSlotType loadoutSlotType) { IUnityItem result = null; this.Loadout.TryGetItem(loadoutSlotType, out result); return(result); }
// Token: 0x06000DDA RID: 3546 RVA: 0x0005FDAC File Offset: 0x0005DFAC public static IPopupDialog ShowItem(IUnityItem item, string customMessage = "") { IPopupDialog popupDialog = new ItemListPopupDialog(item, customMessage); PopupSystem.Show(popupDialog); return(popupDialog); }
// Token: 0x06000C95 RID: 3221 RVA: 0x00054E1C File Offset: 0x0005301C public static void BuyItem(IUnityItem item, ItemPrice price, BuyingLocationType buyingLocation = BuyingLocationType.Shop, BuyingRecommendationType recommendation = BuyingRecommendationType.Manual, bool autoEquip = false) { if (item.View.IsConsumable) { int id = item.View.ID; ShopWebServiceClient.BuyPack(id, PlayerDataManager.AuthToken, price.PackType, price.Currency, item.View.ItemType, buyingLocation, recommendation, delegate(int result) { BuyPanelGUI.HandleBuyItem(item, (BuyItemResult)result, autoEquip); }, delegate(Exception ex) { BuyPanelGUI._isBuyingItem = false; PanelManager.Instance.ClosePanel(PanelType.BuyItem); }); } else { int id2 = item.View.ID; ShopWebServiceClient.BuyItem(id2, PlayerDataManager.AuthToken, price.Currency, price.Duration, item.View.ItemType, buyingLocation, recommendation, delegate(int result) { BuyPanelGUI.HandleBuyItem(item, (BuyItemResult)result, autoEquip); }, delegate(Exception ex) { BuyPanelGUI._isBuyingItem = false; PanelManager.Instance.ClosePanel(PanelType.BuyItem); }); } }
// Token: 0x06000AD4 RID: 2772 RVA: 0x00045CB8 File Offset: 0x00043EB8 private void DrawNoClanMessage(Rect rect) { Rect position = new Rect((rect.width - 480f) / 2f, (rect.height - 240f) / 2f, 480f, 240f); GUI.BeginGroup(position, BlueStonez.window_standard_grey38); GUI.Label(new Rect(0f, 0f, position.width, 56f), LocalizedStrings.ClansCaps, BlueStonez.tab_strip); GUI.Box(new Rect(position.width / 2f - 82f, 60f, 48f, 48f), new GUIContent(this._level4Icon), BlueStonez.item_slot_large); if (Singleton <ClanDataManager> .Instance.HaveLevel) { GUI.Box(new Rect(position.width / 2f - 82f, 60f, 48f, 48f), new GUIContent(UberstrikeIcons.LevelMastered)); } GUI.Box(new Rect(position.width / 2f - 24f, 60f, 48f, 48f), new GUIContent(this._licenseIcon), BlueStonez.item_slot_large); if (Singleton <ClanDataManager> .Instance.HaveLicense) { GUI.Box(new Rect(position.width / 2f - 24f, 60f, 48f, 48f), new GUIContent(UberstrikeIcons.LevelMastered)); } GUI.Box(new Rect(position.width / 2f + 34f, 60f, 48f, 48f), new GUIContent(this._friendsIcon), BlueStonez.item_slot_large); if (Singleton <ClanDataManager> .Instance.HaveFriends) { GUI.Box(new Rect(position.width / 2f + 34f, 60f, 48f, 48f), new GUIContent(UberstrikeIcons.LevelMastered)); } if (!Singleton <ClanDataManager> .Instance.HaveLevel || !Singleton <ClanDataManager> .Instance.HaveLicense || !Singleton <ClanDataManager> .Instance.HaveFriends) { bool enabled = GUI.enabled; GUI.Label(new Rect(position.width / 2f - 90f, 110f, 210f, 14f), LocalizedStrings.ToCreateAClanYouStillNeedTo, BlueStonez.label_interparkbold_11pt_left); GUI.enabled = (enabled && !Singleton <ClanDataManager> .Instance.HaveLevel); GUI.Label(new Rect(position.width / 2f - 90f, 124f, 200f, 14f), LocalizedStrings.ReachLevelFour + ((!Singleton <ClanDataManager> .Instance.HaveLevel) ? string.Empty : string.Format(" ({0})", LocalizedStrings.Done)), BlueStonez.label_interparkbold_11pt_left); GUI.enabled = (enabled && !Singleton <ClanDataManager> .Instance.HaveFriends); GUI.Label(new Rect(position.width / 2f - 90f, 138f, 200f, 14f), LocalizedStrings.HaveAtLeastOneFriend + ((!Singleton <ClanDataManager> .Instance.HaveFriends) ? string.Empty : string.Format(" ({0})", LocalizedStrings.Done)), BlueStonez.label_interparkbold_11pt_left); GUI.enabled = (enabled && !Singleton <ClanDataManager> .Instance.HaveLicense); GUI.Label(new Rect(position.width / 2f - 90f, 152f, 240f, 14f), LocalizedStrings.BuyAClanLicense + ((!Singleton <ClanDataManager> .Instance.HaveLicense) ? string.Empty : string.Format(" ({0})", LocalizedStrings.Done)), BlueStonez.label_interparkbold_11pt_left); GUI.enabled = enabled; if (!Singleton <ClanDataManager> .Instance.HaveLicense && GUITools.Button(new Rect((position.width - 200f) / 2f, 170f, 200f, 22f), new GUIContent(LocalizedStrings.BuyAClanLicense), BlueStonez.buttondark_medium)) { IUnityItem itemInShop = Singleton <ItemManager> .Instance.GetItemInShop(1234); if (itemInShop != null && itemInShop.View != null) { BuyPanelGUI buyPanelGUI = PanelManager.Instance.OpenPanel(PanelType.BuyItem) as BuyPanelGUI; if (buyPanelGUI) { buyPanelGUI.SetItem(itemInShop, BuyingLocationType.Shop, BuyingRecommendationType.None, false); } } } } else { GUI.Label(new Rect(0f, 140f, position.width, 14f), LocalizedStrings.CreateAClanAndInviteYourFriends, BlueStonez.label_interparkbold_11pt); } GUITools.PushGUIState(); GUI.enabled &= (Singleton <ClanDataManager> .Instance.HaveLevel && Singleton <ClanDataManager> .Instance.HaveLicense && Singleton <ClanDataManager> .Instance.HaveFriends); if (GUITools.Button(new Rect((position.width - 200f) / 2f, 200f, 200f, 30f), new GUIContent(LocalizedStrings.CreateAClanCaps), BlueStonez.button_green)) { this.createAClan = true; } GUITools.PopGUIState(); GUI.EndGroup(); }
// Token: 0x0600206C RID: 8300 RVA: 0x0009AE14 File Offset: 0x00099014 private BaseWeaponDecorator InstantiateWeaponDecorator(int itemId) { IUnityItem itemInShop = Singleton <ItemManager> .Instance.GetItemInShop(itemId); GameObject gameObject = itemInShop.Create(Vector3.zero, Quaternion.identity); return(gameObject.GetComponent <BaseWeaponDecorator>()); }
// Token: 0x060009AB RID: 2475 RVA: 0x0003D1C8 File Offset: 0x0003B3C8 public RentItemPriceGUI(IUnityItem item, Action <ItemPrice> onPriceSelected) : base(item.View.LevelLock, onPriceSelected) { this._prices = new List <ItemPrice>(item.View.Prices); if (this._prices.Count > 0) { this._onPriceSelected(this._prices[this._prices.Count - 1]); } }
// Token: 0x06000E30 RID: 3632 RVA: 0x0000A5A4 File Offset: 0x000087A4 private static int CompareName(IUnityItem a, IUnityItem b, bool ascending) { if (ascending) { return(string.Compare(a.View.Name, b.View.Name)); } return(string.Compare(b.View.Name, a.View.Name)); }
// Token: 0x060010DB RID: 4315 RVA: 0x00067974 File Offset: 0x00065B74 public ShopItemView(int itemId) { IUnityItem itemInShop = Singleton <ItemManager> .Instance.GetItemInShop(itemId); this.Points = 0; this.Credits = 0; this.UnityItem = itemInShop; this.ItemId = itemId; this.Duration = BuyingDurationType.None; }
// Token: 0x060010DC RID: 4316 RVA: 0x000679B8 File Offset: 0x00065BB8 public ShopItemView(BundleItemView itemView) { IUnityItem itemInShop = Singleton <ItemManager> .Instance.GetItemInShop(itemView.ItemId); this.Points = 0; this.Credits = 0; this.UnityItem = itemInShop; this.ItemId = itemView.ItemId; this.Duration = itemView.Duration; }
// Token: 0x060013E4 RID: 5092 RVA: 0x00072D80 File Offset: 0x00070F80 public bool EquipItem(IUnityItem item) { global::LoadoutSlotType slotType = global::LoadoutSlotType.None; InventoryItem inventoryItem; if (this.TryGetInventoryItem(item.View.ID, out inventoryItem) && inventoryItem.IsValid && inventoryItem.Item.View.ItemType == UberstrikeItemType.Weapon && GameState.Current.Map != null) { slotType = InventoryManager.FindBestSlotToEquipWeapon(item); } return(this.EquipItemOnSlot(item.View.ID, slotType)); }
// Token: 0x06001F73 RID: 8051 RVA: 0x00014BA6 File Offset: 0x00012DA6 private void SetSlotWeapon(global::LoadoutSlotType slot, IUnityItem weapon) { if (weapon != null) { this._loadoutWeapons[slot] = weapon; } else if (this._loadoutWeapons.ContainsKey(slot)) { this._loadoutWeapons.Remove(slot); } }
// Token: 0x06000E2E RID: 3630 RVA: 0x00061414 File Offset: 0x0005F614 private static int CompareLevel(IUnityItem a, IUnityItem b, bool ascending) { if (a.View.LevelLock < b.View.LevelLock) { return((!ascending) ? 1 : -1); } if (a.View.LevelLock > b.View.LevelLock) { return((!ascending) ? -1 : 1); } return(ShopSorting.CompareName(a, b, ascending)); }
// Token: 0x060009A9 RID: 2473 RVA: 0x0003D010 File Offset: 0x0003B210 public PackItemPriceGUI(IUnityItem item, Action <ItemPrice> onPriceSelected) : base(item.View.LevelLock, onPriceSelected) { this._prices = new List <ItemPrice>(item.View.Prices); if (this._prices.Count > 1) { this._onPriceSelected(this._prices[1]); } else { this._onPriceSelected(this._prices[0]); } }
// Token: 0x060010DA RID: 4314 RVA: 0x0000BB23 File Offset: 0x00009D23 private void DrawIcon(Rect position, IUnityItem item, GUIStyle style) { if (item != null) { GUI.Label(position, GUIContent.none, style); item.DrawIcon(position); } else { GUI.Label(position, UberstrikeIconsHelper.White, style); } }
// Token: 0x06001533 RID: 5427 RVA: 0x00077AC4 File Offset: 0x00075CC4 public void SetLoadoutItem(global::LoadoutSlotType slot, IUnityItem item) { if (item != null) { IUnityItem unityItem; if (GameState.Current.Avatar.Loadout.TryGetItem(slot, out unityItem) && unityItem != item && !Singleton <InventoryManager> .Instance.Contains(unityItem.View.ID) && unityItem.View.ItemType != UberstrikeItemType.QuickUse) { unityItem.Unload(); } GameState.Current.Avatar.Loadout.SetSlot(slot, item); } }
// Token: 0x06001404 RID: 5124 RVA: 0x00073C80 File Offset: 0x00071E80 public bool TryGetDefaultItem(UberstrikeItemClass itemClass, out IUnityItem item) { string prefabName; if (this._defaultGearPrefabNames.TryGetValue(itemClass, out prefabName) || this._defaultWeaponPrefabNames.TryGetValue(itemClass, out prefabName)) { item = this._shopItemsById.Values.FirstOrDefault((IUnityItem i) => i.View.PrefabName == prefabName); return(item != null); } item = null; return(false); }
// Token: 0x06002053 RID: 8275 RVA: 0x0009A8B8 File Offset: 0x00098AB8 public void UpdateWeapons(int currentWeaponSlot, IList <int> weaponItemIds) { if (this.character.Avatar != null) { IUnityItem[] array = new IUnityItem[] { Singleton <ItemManager> .Instance.GetItemInShop((weaponItemIds == null || weaponItemIds.Count <= 0)? 0 : weaponItemIds[0]), Singleton <ItemManager> .Instance.GetItemInShop((weaponItemIds == null || weaponItemIds.Count <= 1)? 0 : weaponItemIds[1]), Singleton <ItemManager> .Instance.GetItemInShop((weaponItemIds == null || weaponItemIds.Count <= 2)? 0 : weaponItemIds[2]), Singleton <ItemManager> .Instance.GetItemInShop((weaponItemIds == null || weaponItemIds.Count <= 3)? 0 : weaponItemIds[3]) }; global::LoadoutSlotType[] array2 = new global::LoadoutSlotType[] { global::LoadoutSlotType.WeaponMelee, global::LoadoutSlotType.WeaponPrimary, global::LoadoutSlotType.WeaponSecondary, global::LoadoutSlotType.WeaponTertiary }; int num = -1; for (int i = 0; i < this.weaponSlots.Length; i++) { if (this.weaponSlots[i] != null && this.weaponSlots[i].Decorator != null) { UnityEngine.Object.Destroy(this.weaponSlots[i].Decorator.gameObject); } if (array[i] != null && this.character.Avatar.Decorator.WeaponAttachPoint) { WeaponSlot weaponSlot = new WeaponSlot(array2[i], array[i], this.character.Avatar.Decorator.WeaponAttachPoint, this); if (weaponSlot.Decorator) { if (num < 0) { num = i; } this.character.Avatar.AssignWeapon(array2[i], weaponSlot.Decorator, weaponSlot.UnityItem); } else { Debug.LogError("WeaponDecorator is NULL!"); } this.weaponSlots[i] = weaponSlot; } else { this.weaponSlots[i] = null; } } if (this.CurrentSlotIndex >= 0 && this.weaponSlots[this.CurrentSlotIndex] != null && this.weaponSlots[this.CurrentSlotIndex].Decorator != null) { this.weaponSlots[this.CurrentSlotIndex].Decorator.IsEnabled = true; } } }
// Token: 0x0600206B RID: 8299 RVA: 0x0009ADC8 File Offset: 0x00098FC8 private ProjectileWeaponDecorator CreateProjectileWeaponDecorator(int itemId, int missileTimeToDetonate) { IUnityItem itemInShop = Singleton <ItemManager> .Instance.GetItemInShop(itemId); GameObject gameObject = itemInShop.Create(Vector3.zero, Quaternion.identity); ProjectileWeaponDecorator component = gameObject.GetComponent <ProjectileWeaponDecorator>(); if (component) { component.SetMissileTimeOut((float)missileTimeToDetonate / 1000f); } return(component); }
// Token: 0x06001442 RID: 5186 RVA: 0x00074CD0 File Offset: 0x00072ED0 public bool TryGetSlotForItem(IUnityItem item, out global::LoadoutSlotType slot) { slot = global::LoadoutSlotType.None; foreach (KeyValuePair <global::LoadoutSlotType, IUnityItem> keyValuePair in this.Loadout) { if (keyValuePair.Value == item) { slot = keyValuePair.Key; return(true); } } return(false); }
// Token: 0x06000E21 RID: 3617 RVA: 0x00060FD8 File Offset: 0x0005F1D8 public static BuyingDurationType GetDuration(IUnityItem item) { BuyingDurationType result = BuyingDurationType.None; if (item != null && item.View != null && item.View.Prices != null) { IEnumerator <ItemPrice> enumerator = item.View.Prices.GetEnumerator(); if (enumerator.MoveNext()) { result = enumerator.Current.Duration; } } return(result); }
// Token: 0x06001A93 RID: 6803 RVA: 0x0008AC6C File Offset: 0x00088E6C public void EmitRemoteQuickItem(Vector3 origin, Vector3 direction, int itemId, byte playerNumber, int projectileID) { IUnityItem itemInShop = Singleton <ItemManager> .Instance.GetItemInShop(itemId); if (itemInShop != null) { if (itemInShop.Prefab) { IGrenadeProjectile grenadeProjectile = itemInShop.Prefab.GetComponent <QuickItem>() as IGrenadeProjectile; try { IGrenadeProjectile grenadeProjectile2 = grenadeProjectile.Throw(origin, direction); if (playerNumber == this.PlayerData.Player.PlayerId) { grenadeProjectile2.SetLayer(UberstrikeLayer.LocalProjectile); } else { grenadeProjectile2.SetLayer(UberstrikeLayer.RemoteProjectile); } Singleton <ProjectileManager> .Instance.AddProjectile(grenadeProjectile2, projectileID); } catch (Exception exception) { Debug.LogWarning(string.Concat(new object[] { "OnEmitQuickItem failed because Item is not a projectile: ", itemId, "/", playerNumber, "/", projectileID })); Debug.LogException(exception); } } } else { Debug.LogError(string.Concat(new object[] { "OnEmitQuickItem failed because item not found: ", itemId, "/", playerNumber, "/", projectileID })); } }
// Token: 0x06001503 RID: 5379 RVA: 0x00076D5C File Offset: 0x00074F5C private AvatarDecoratorConfig CreateHolo(IUnityItem holo) { AvatarDecoratorConfig avatarDecoratorConfig = null; GameObject gameObject = holo.Create(Vector3.zero, Quaternion.identity); HoloGearItem component = gameObject.GetComponent <HoloGearItem>(); if (component && component.Configuration.Ragdoll) { avatarDecoratorConfig = (UnityEngine.Object.Instantiate(component.Configuration.Ragdoll) as AvatarDecoratorConfig); LayerUtil.SetLayerRecursively(avatarDecoratorConfig.transform, UberstrikeLayer.Ragdoll); SkinnedMeshCombiner.Combine(avatarDecoratorConfig.gameObject, new List <GameObject>()); } UnityEngine.Object.Destroy(gameObject); return(avatarDecoratorConfig); }