// 아이템 토글이 선택되었을 시 Toggle->Panel로 호출되는 Callback private void ItemSelected(InventoryItemSelectToggle selectToggle, string itemType) { contentsView.allowSwitchOff = false; inventoryPanel.DeselectAllEquipmentToggles(); inventoryPanel.ResetItemInteractPanel(); selectedItemToggle = selectToggle; ItemData item = selectToggle.CurrentItem.OriginalItemData; inventoryPanel.ActiveSellItemBtn(); ItemSellPrice.text = $"판매 가격 : 개당 <color=yellow>{item.SellPrice}</color> 원"; switch (itemType) { case "Weapon": WeaponData weapon = ItemDB.Instance.GetWeaponData(item.ItemCode); inventoryPanel.RefreshItemIntroduce(item.Name, item.Introduce, weapon.WeaponStat); inventoryPanel.ActiveQuickSlotBtn(); inventoryPanel.ActiveUseItemBtn(); break; case "Accesorie": AccesorieData accesorie = ItemDB.Instance.GetAccesorieData(item.ItemCode); inventoryPanel.RefreshItemIntroduce(item.Name, item.Introduce, accesorie.AccesorieStat); inventoryPanel.ActiveUseItemBtn(); break; case "Expendable": ExpendableData expendable = ItemDB.Instance.GetExpendableData(item.ItemCode); inventoryPanel.RefreshItemIntroduce(item.Name, item.Introduce, expendable.Effects); inventoryPanel.ActiveQuickSlotBtn(); inventoryPanel.ActiveUseItemBtn(); break; case "Etc": inventoryPanel.RefreshItemIntroduce(item.Name, item.Introduce); break; } }
// 내부 Method private void CreateSelectTogglePool(int createCount) { selectTogglePool.Capacity += createCount; for (int i = 0; i < createCount; ++i) { GameObject newSelectToggle = Instantiate(selectTogglePrefab, contentsView.transform); newSelectToggle.GetComponent<Toggle>().group = contentsView.GetComponent<ToggleGroup>(); InventoryItemSelectToggle itemSelectToggle = newSelectToggle.GetComponent<InventoryItemSelectToggle>(); itemSelectToggle.Initialize(ItemSelected); selectTogglePool.Add(itemSelectToggle); newSelectToggle.SetActive(false); } }