아이템 사기
일단 아이템을 사용하려면 아이템을 플레이어가 상점에서 사야지 아이템을 사용할 수 있게 만들었습니다.
일단 BuyItem이라는 스크립트를 만들어서 ShopUIManager가 아이템의 프리팹을 불러와 생성해주므로
프리팹의 이미지를 버튼으로 만들어서 할당해주었습니다.
public class BuyItem : MonoBehaviour { public Image buttonImage; public Image itemImage; public GameObject checkImage; public static BuyItem[] selectedItem = new BuyItem[2]; public ItemType itemType; // 아이템 종류 bool isItemDark = false; public void clickBtn() { // 현재 아이템이 볼 아이템인 경우 if (itemType == ItemType.Ball) { selectItem(0); DataManager.DMinstance.selectedballImage = selectedItem[0].itemImage.sprite; } // 현재 아이템이 paddle 아이템인 경우 else if (itemType == ItemType.Paddle) { selectItem(1); DataManager.DMinstance.selectedPaddleImage = selectedItem[1].itemImage.sprite; } } private void selectItem(int num) { if (selectedItem[num] != null && selectedItem[num] != this) { selectedItem[num].checkImage.SetActive(false); selectedItem[num] = null; } // 아이템 어두운 상태에 따라 이미지 색상을 조절 if (!isItemDark) { buttonImage.color = Color.gray; // 아이템을 어둡게 표현 isItemDark = true; checkImage.SetActive(true); selectedItem[num] = this; } else { // 이미 어둡게 변한 아이템을 다시 누를 때 checkImage를 활성화 selectedItem[num] = this; checkImage.SetActive(true); } } }
clickBtn()함수는 생성된 아이템들을 플레이어가 눌렀을 때 실행되고 공과 패들의 스킨이 있는데 2개 크기의 BuyItem[]을 선언해서 하나씩만 고를 수 있도록 저장했습니다.
변수를 만들어두고 위 코드의 아이템 선택 부분에서 값을 할당합니다. 그다음 게임이 진행되는 메인 씬에서public Sprite selectedPaddleImage;
public Sprite selectedballImage;
를 넣어주고 공은 프리팹으로 만들어져서 생성되기때문에 프리팹의 공에 붙어있는 BallScript 에if(DataManager.DMinstance.selectedPaddleImage != null)paddleImage.sprite = DataManager.DMinstance.selectedPaddleImage;
이렇게 추가를 해주었습니다.private void Start() { if(DataManager.DMinstance.selectedballImage != null)_sprite.sprite = DataManager.DMinstance.selectedballImage; }
패들 스킨 추가
공 스킨 추가
스킨 적용
버프 아이템 블록에 할당 (미완)
상점 능력치 부분 추가(미완)
공 스킨 변경(미완)
카메라 이동(미완)
09:00 ~ 10:00 : 알고리즘 코드카타
10:00 ~ 10:30 : 팀 회의
10:30 ~ 14:00 :
12시-1시: 점심식사
14:00 ~ 18:00
6시-7시: 저녁식사
19:00 ~ 20:00 : 집중 코딩 시간 부족한 부분 해결해보기
20:00 ~ 21:00: TIL 작성, 마무리 회고 진행
21:00 : 내일은 위한 휴식!