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() }); } } }