728x90

오늘은 아이템 팝업창 생성 및 아이템 추가 제거를 진행하였다.

 

 

public GameObject ExplainPanel;//팝업창 패널 
    IEnumerator pointercoroutine; //코루틴 스타트 스탑 해주기위해 선언 
      public void PointerEnter(int slotNum)//포인터가 슬롯에 들어왓을때 
    {
        pointercoroutine =Delay(slotNum);// 위에 선언한 코루틴에 delay코루틴 넣어주고 
        StartCoroutine(pointercoroutine);//스타트 코루틴 
        ExplainPanel.GetComponentInChildren<Text>().text = CurItemList[slotNum].Name;//첫번째 텍스트 찾아서 curitelist 슬롯넘버랑 같은 이름을 가져오고 
        ExplainPanel.transform.GetChild(2).GetComponent<Image>().sprite = Slot[slotNum].transform.GetChild(1).GetComponent<Image>().sprite; // 3번째에있는 자식 이미지 가져와서 슬롯에 2번째에 있는 이미지대입
        ExplainPanel.transform.GetChild(3).GetComponent<Text>().text = CurItemList[slotNum].Explain;// 4번째에있는 자식 text 가져와서 explain 넣음
    }


    IEnumerator Delay(int slotNum)// 딜레이 0.5 초 주기위해 
    {
        yield return new WaitForSeconds(0.3f);
        ExplainPanel.SetActive(true);// 설명판넬 true
      

    }
    public void PointerExit(int slotNum)//포인터가 나가면 
    {
        StopCoroutine(pointercoroutine);// 스탑코루틴 
        ExplainPanel.SetActive(false);//설명판넬 false
      
    }

 

이렇게 코드를 추가해주고 

 

슬롯에 이벤트 트리거 추가후 

 

enter는 들어갈때 exit을 나올때고 slot 인덱스와 똑같이 번호지정후 실행하면 저렇게되고

 

 public void GetItem(Item getitem) // 아이템 얻을 경우 얻는 아이템 받아오고 
    {
        if(getitem.ItemType != "Eqipment" && getitem.ItemType != "Accessory") // 아이템타입이 장비,액세서리가 아니라면 
        {
            Item curitem = MyItemList.Find(x=>x.Name==getitem.Name); // 현재아이템은 내 아이템 리스트중 getitem 과 이름이 같은걸 찾고 
            if(curitem != null) // null 이 아니면 같은걸 찾아진거고 
            {
                curitem.Number = (int.Parse(getitem.Number)+int.Parse(curitem.Number)).ToString(); // 현재아이템 갯수는 전달받은아이템정보 + 현재아이템 
            }
            else
            {
                //여기에는 아닌경우 myitemlist에 add 해줘야하는코드 작성
            }
        }
        else // 장비인경우 마이아이템 리스트 추가해줘야하는 코드 추가 
        {

        }
        Save();
    }
    public void RemoveItem(Item useItem)
    {
        if (useItem.ItemType != "Eqipment" && useItem.ItemType != "Accessory")//아이템타입 장비,액세서리 아니면 
        {
            Item curitem = MyItemList.Find(x=>x.Name == useItem.Name);  //현재아이템 내아이템 리스트중 useitem 과 같은거를찾고 
            if(curitem!=null)//아이템이 null 이 아니면 이미 같은종류 아이템이 있는거라서 
            {
                int curNumber = int.Parse(curitem.Number) - int.Parse(useItem.Number); // 마이아이템 갯수  - 쓴아이템갯수 
                if (curNumber <= 0) MyItemList.Remove(curitem);// 0보다 작거나 같다면 remove 해준다 
                else curitem.Number = curNumber.ToString(); // 0보다 크다면 남아있는 아이템갯수 표시
            }
        }
        else // 장비인경우 추가 
        {

        }
    }

일단은 이런식으로 코드가 짜여졌다. 

 

아이템 얻는거는 

 

몬스터를 잡을때 아이템 갯수는 1~3개 중 나올거고

장비아이템이 나올확률은 15% 악세서리 15% 포션류 70% 할 예정이다. 아이템을 추가로 더 만드는건 의미가 없다 생각해서 기능만 구현하고 빠르게 포폴을 끝내고 면접준비 및 코테준비를 할 예정이며, 추가로 오늘은 면접 준비를 차근차근 하기위해 면접을위한cs전공지식 노트 책을사서 오전에는 cs공부를하고 오후에 포폴작업을 했으며.

 

아마 앞으로도 계속 오전에는 cs공부 및 코테준비, 오후에는 포폴작업을 할 예정이고 포폴이 마무리되는대로 오전 오후 둘다 코테 및 cs공부를 할 예정이다.

반응형