/// <summary> /// 방어구 탭 버튼을 눌렀을 때 호출하는 함수 /// </summary> public void OnClick_DefenceTapBtn() { eCurrentTapMenu = ETapMenu.defence; ChangeTap(eCurrentTapMenu); ShowItemCardInContent(eCurrentTapMenu); // 아이템 카드들을 content에 보여준다. currentSlotSpaceText.text = PlayerInformation.inventory.defenceItemCount.ToString() + "/" + PlayerInformation.inventory.maxSlotSpace.ToString(); // 슬롯의 공간 상태를 보여준다. Debug.Log("방어구 탭 버튼을 눌렀습니다."); }
/// <summary> /// 선택한 탭의 버튼 색상을 초록색으로 변경하고 선택되지 않은 버튼 색상을 원래 색으로 변경한다. /// </summary> /// <param name="tapMenu">변경 할 탭 메뉴</param> private void ChangeTapColor(ETapMenu tapMenu) { for (int i = 0; i < tapButtonsImage.Length; i++) { if ((int)tapMenu == i) { tapButtonsImage[i].color = Color.green; } else { tapButtonsImage[i].color = Color.white; } } }
/// <summary> /// 탭 버튼을 변경 할 때 호출되는 함수. /// 탭 버튼의 색상을 변경하고 /// </summary> /// <param name="tapMenu">바꿀 탭 메뉴 종류</param> private void ChangeTap(ETapMenu tapMenu) { ChangeTapColor(tapMenu); // 탭 버튼의 색상 변경 switch (tapMenu) { case ETapMenu.weapon: ChangeTapColor(tapMenu); // 탭 버튼의 색상 변경 break; case ETapMenu.defence: ChangeTapColor(tapMenu); // 탭 버튼의 색상 변경 break; default: Debug.Assert(false); break; } }
/// <summary> /// 아이템 카드를 컨텐츠에 보여준다. /// </summary> private void ShowItemCardInContent(ETapMenu tapMenu) { switch (tapMenu) { case ETapMenu.weapon: // 무기 아이템 카드만 보이게 한다. for (int i = 0; i < itemCardsList.Count; ++i) { if (itemCardsList[i].GetComponent <InventoryItemDisplay>().card.type == EEquipmentItemType.weapon) { itemCardsList[i].SetActive(true); } else { itemCardsList[i].SetActive(false); } } break; case ETapMenu.defence: // 무기 아이템을 제외한 아이템 카드만 보이게 한다. for (int i = 0; i < itemCardsList.Count; ++i) { if (itemCardsList[i].GetComponent <InventoryItemDisplay>().card.type == EEquipmentItemType.weapon) { itemCardsList[i].SetActive(false); } else { itemCardsList[i].SetActive(true); } } break; default: Debug.Assert(false); break; } }
/// <summary> /// 처음 시작 시 인벤토리 UI들을 초기화 한다. /// </summary> public void InitUI() { eCurrentTapMenu = ETapMenu.weapon; // 탭 창을 무기 창으로 초기화한다. UpdateUI(); }