public bool TryGetItemDetails(DentEntity itemEntity, out ReadOnlyItemDetails details) { details = default; return(dentBank.TryGetOutput(itemEntity, out var output) && EntityManager.HasComponent <ItemTargetAssetIdComponent>(output) && itemManager.TryGetDetails(EntityManager.GetSharedComponentData <ItemTargetAssetIdComponent>(output).Value.FullString, out details)); }
private void showSelection(NativeArray <UnitDefinedEquipments> equipments, Entity entity, UIFullViewEquipment fullView) { exit: if (exitRequested) { for (var i = 0; i < fullView.rows.Length; i++) { var row = fullView.rows[i]; if (i == fullView.ModifyIndex && i != fullView.FocusedIndex) { row.SetFocus(false); row.animator.Update(1); } else if (i == fullView.FocusedIndex) { row.gameObject.SetActive(true); row.SetFocus(true); row.animator.Update(1); } row.SetSelected(false); } fullView.ModifyIndex = -1; return; } for (var i = 0; i < fullView.rows.Length; i++) { var row = fullView.rows[i]; if (i != 0) { row.SetFocus(false); row.animator.Update(1); row.gameObject.SetActive(false); continue; } row.gameObject.SetActive(true); row.SetFocus(true); row.SetSelected(true); var equipment = equipments[fullView.ModifyIndex]; gameResourceMgr.TryGetResource(equipment.Attachment, out var attachRes); if (!dentBank.TryGetItemDetails(equipment.Item, out var details)) { details = new ReadOnlyItemDetails { MasterServerId = "null", DisplayNameFallback = $"not found ({equipment.Item.ToString()})", DisplayNameTranslationId = $"not found ({equipment.Item.ToString()})", DescriptionFallback = $"not found ({equipment.Item.ToString()})", DescriptionTranslationId = $"not found ({equipment.Item.ToString()})", }; } row.SetName(details.DisplayNameFallback); row.equipmentIcon.sprite = itemManager.GetSpriteOf(details.MasterServerId, currentItemPrefix); var currentSelectedItem = row.inventory.Get(row.inventory.AbsoluteCursor); if (currentSelectedItem.itemEntity.Equals(default) == false && enterInputDown)
private void showCarousel(NativeArray <UnitDefinedEquipments> equipments, Entity entity, UIFullViewEquipment fullView) { if (exitRequested) { fullView.ExitAction(); return; } if (movInput.y != 0 && (fullView.TimeBeforeNextItemInput <= 0 || inputUpdate.y)) { fullView.TimeBeforeNextItemInput = 0.2f; fullView.FocusedIndex += -movInput.y; } if (fullView.FocusedIndex < 0) { fullView.FocusedIndex = equipments.Length - 1; } else if (fullView.FocusedIndex >= equipments.Length) { fullView.FocusedIndex = 0; } for (var i = 0; i < fullView.rows.Length; i++) { var row = fullView.rows[i]; if (i >= equipments.Length) { row.gameObject.SetActive(false); continue; } row.gameObject.SetActive(true); row.SetFocus(fullView.FocusedIndex == i); var equipment = equipments[i]; gameResourceMgr.TryGetResource(equipment.Attachment, out var attachRes); if (!dentBank.TryGetItemDetails(equipment.Item, out var details)) { dentBank.CallAndStoreLater(equipment.Item); details = new ReadOnlyItemDetails { MasterServerId = "null", DisplayNameFallback = $"not found ({equipment.Item.ToString()})", DisplayNameTranslationId = $"not found ({equipment.Item.ToString()})", DescriptionFallback = $"not found ({equipment.Item.ToString()})", DescriptionTranslationId = $"not found ({equipment.Item.ToString()})", }; } row.SetName(details.DisplayNameFallback); row.equipmentIcon.sprite = itemManager.GetSpriteOf(details.MasterServerId, currentItemPrefix); if (fullView.FocusedIndex == i && enterInputDown) { fullView.ModifyIndex = i; fullView.InventoryTask = connector.RpcClient.SendRequest <UnitOverviewGetRestrictedItemInventory, UnitOverviewGetRestrictedItemInventory.Response> (new UnitOverviewGetRestrictedItemInventory { EntityTarget = GetComponent <ReplicatedGameEntity>(entity).Source, AttachmentTarget = attachRes.Value.ToString() }); } } }