private void setItemView(EquipmentIcon iconItem, InventoryIconModel <DCustomEquipment> dataModel) { bool isPlayerMember = Service.Get <CPDataEntityCollection>().IsLocalPlayerMember() || !model.InventoryData.IsEquipmentMemberOnly(dataModel.Data); iconItem.SetupView(dataModel, isPlayerMember); itemImageBuilder.RequestImage(dataModel.Data, iconItem.SetIcon); }
private bool onInventoryRetrieved(InventoryServiceEvents.InventoryLoaded evt) { Service.Get <EventDispatcher>().RemoveListener <InventoryServiceEvents.InventoryLoaded>(onInventoryRetrieved); DataEntityHandle localPlayerHandle = Service.Get <CPDataEntityCollection>().LocalPlayerHandle; if (!localPlayerHandle.IsNull) { InventoryData inventoryData = Service.Get <CPDataEntityCollection>().AddComponent <InventoryData>(localPlayerHandle); inventoryData.Inventory = new Dictionary <long, InventoryIconModel <DCustomEquipment> >(); inventoryData.CurrentAvatarEquipment = new List <long>(); for (int i = 0; i < evt.Inventory.Count; i++) { try { DCustomEquipment data = CustomEquipmentResponseAdaptor.ConvertResponseToCustomEquipment(evt.Inventory[i]); InventoryIconModel <DCustomEquipment> value = new InventoryIconModel <DCustomEquipment>(data.Id, data, isEquipped: false, isMemberItem: true); inventoryData.Inventory.Add(data.Id, value); } catch (KeyNotFoundException) { } } } else { Log.LogError(this, "Unable to find the LocalPlayerHandle."); } if (callback != null) { callback(); callback = null; } return(false); }
public void SetupView(InventoryIconModel <DCustomEquipment> iconData, bool isPlayerMember) { IconData = iconData; EquipmentId = IconData.Id; activateSelected(iconData.IsEquipped); if (!isPlayerMember) { setMemberViews(canEquip: false); } else { setMemberViews(canEquip: true); } setBreadcrumbId(); }
public static bool IsCustomEquipmentOwned(CustomEquipment equipment) { if (Service.Get <CPDataEntityCollection>().TryGetComponent <InventoryData>(Service.Get <CPDataEntityCollection>().LocalPlayerHandle, out var component) && component.Inventory != null) { Dictionary <long, InventoryIconModel <DCustomEquipment> > .Enumerator enumerator = component.Inventory.GetEnumerator(); while (enumerator.MoveNext()) { InventoryIconModel <DCustomEquipment> value = enumerator.Current.Value; if (IsEquipmentEqual(value.Data, equipment)) { return(true); } } } return(false); }
private bool onItemReady(EditableItemEvents.ItemReady evt) { int index = evt.Index; EditableItem item = evt.Item; EquipmentIcon componentInChildren = item.GetComponentInChildren <EquipmentIcon>(); switch (index) { case 0: item.ShowActionButton = false; componentInChildren.SetupCreateButton(); break; case 1: item.ShowActionButton = false; componentInChildren.SetupCatalogButton(); break; default: { componentInChildren.SetupEquipmentButton(); long key = model.DisplayedInventory[index - 2]; InventoryIconModel <DCustomEquipment> inventoryIconModel = model.InventoryData.Inventory[key]; item.ShowActionButton = true; item.Action = EditableItem.ActionType.Delete; if (templateDefinitions.TryGetValue(inventoryIconModel.Data.DefinitionId, out var value) && !value.IsEditable) { if (inventoryIconModel.IsHidden) { item.Action = EditableItem.ActionType.Hide; } else { item.Action = EditableItem.ActionType.Show; } } AccessibilitySettings component = componentInChildren.GetComponent <AccessibilitySettings>(); if (component != null) { component.CustomToken = value.Name; } setItemView(componentInChildren, inventoryIconModel); break; } } return(false); }