일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 크래프톤 정글
- 백준
- 네트워크
- 다익스트라
- 핀토스
- 4기
- 크래프톤 정글 4기
- 티스토리챌린지
- KRAFTON JUNGLE
- 알고리즘
- 이벤트 함수 실행 순서
- Unity
- 크래프톤정글4기
- anonymous page
- 파이썬
- 유니티
- User Stack
- C
- pintos
- TiL
- kraftonjungle
- 오블완
- c#
- BFS
- 알고리즘수업-너비우선탐색2
- 크래프톤정글
- project3
- 전쟁-전투
- 연결리스트
- 추상클래스와인터페이스
Archives
- Today
- Total
말감로그
[Unity] Valley - 판매 가능한 아이템 설정 본문
728x90
호기, 물뿌리개, 도끼 등 필수적인 아이템을 팔지 못하게하고, 과일, 나무, 식물, 씨앗 등을 팔 수 있도록 분리하기 위해 Item Data에 isSellable을 추가하여 각 아이템에 맞게 설정해주었다.
그리고 판매 창을 열었을 경우, 툴바에서도 해당 아이템은 팔지 못한다는 것을 표시하기 위해 아이콘의 색상을 좀 더 어둡게 표시하고, 판매 창에서도 해당 아이템의 정보가 뜨지 않도록 했다.
그러기 위해서 Slot_UI.cs의 슬롯의 아이템을 세팅해주는 함수(SetItem)에서 현재 itemBox가 열려있고, 판매 불가능한 상품일 경우의 조건문을 걸어 color 변화를 주었다.
// Slot_UI.cs
public void SetItem(Inventory.Slot slot)
{
if (slot != null)
{
if (GameManager.instance.itemBox != null && GameManager.instance.itemBox.isBoxOpen && !slot.isSellable)
{
itemIcon.sprite = slot.icon;
itemIcon.color = new Color(0.4f, 0.4f, 0.4f, 0.7f);
}
else
{
itemIcon.sprite = slot.icon;
itemIcon.color = new Color(1, 1, 1, 1);
if (slot.count == 0)
{
slot.RemoveItem();
EmptyItem();
}
else
{
quantityText.text = slot.count == 1 ? "" : slot.count.ToString();
}
}
}
}
판매창을 열었을 경우 어둡게 변하고, 벗어나면 본래의 색으로 돌아옴.
판매 창의 해당 아이템 정보를 표시하지 않도록 ItemBox.cs 에서 UpdatePanel 부분을 수정해주었다.
void UpdatePanel()
{
if (selectedSlot != null)
{
sellingIcon.sprite = selectedSlot.count > 0 && selectedSlot.isSellable ? selectedSlot.icon : null;
sellingIcon.color = selectedSlot.count > 0 && selectedSlot.isSellable ? new Color(1, 1, 1, 1) : new Color(1, 1, 1, 0);
priceText.text = itemPrice.ToString();
countText.text = itemCount.ToString();
}
}
아예 선택을 못하게 하고싶은데 그건 아직 못함ㅠ
728x90
'TIL' 카테고리의 다른 글
[Unity] Valley - 인벤토리 저장/로드 (새로하기 &이어하기) (3) | 2024.11.13 |
---|---|
[Unity] Valley - 인벤토리 저장 & 로드 시스템 (2) | 2024.11.12 |
[Unity] Valley - 아이템 팔기(+ 아이템 판넬 UI) (2) | 2024.10.29 |
[Unity] Valley - 과일 나무(과일 , 나무조각 드랍) , 아이템 박스 인식 & 애니메이션 (0) | 2024.10.28 |
[Unity] Valley - 나무 자르기(나무 애니메이션, 나무조각 생성) (0) | 2024.10.25 |