Exemplo n.º 1
0
 // Update is called once per frame
 void Update()
 {
     if (inv.activeSelf)
     {
         for (int i = 0; i < items2.Length; i++)
         {
             J_Slots s = J_Inventory.j_Inventory.items[i].GetComponent <J_Slots>();
             if (items2[i] != null)
             {
                 s.itemMy = items2[i].my;
                 s.mainIamge.SetActive(true);
                 s.Image.sprite = items2[i].itemImage;
                 s.text.text    = items2[i].auount.ToString();
                 s.name         = items2[i].itemName;
             }
             else
             {
                 s.MySeilf(null, null, 0);
                 s.mainIamge.SetActive(false);
             }
         }
     }
 }
Exemplo n.º 2
0
    void Actions2()
    {
        J_Slots a = _Slots.GetComponent <J_Slots>();

        //자기 인벤토리에서 실행하는 상태입니다
        if (state == State.MYINVENYROY)
        {
            for (int i = 0; i <
                 J_ItemManager.j_Item.items2.Length; i++)
            {
                if (J_ItemManager.j_Item.items2[i].itemName == a.name)
                {
                    J_ItemManager.j_Item.items2[i].auount -=
                        clickButton.GetComponent <J_SclectButton>().ss;


                    if (clickButton.GetComponent <J_SclectButton>().ss != a.itemMy.GetComponent <J_Item>().auount)
                    {
                        GameObject x = Instantiate(a.itemMy);
                        x.transform.position             = player.transform.position;
                        x.GetComponent <J_Item>().auount = clickButton.GetComponent <J_SclectButton>().ss;
                    }



                    //만약 슬롯의 아이템 갯수가 0이면 그 자리를 비워줘야합니다
                    if (J_ItemManager.j_Item.items2[i].auount == 0)
                    {
                        //아이템이 없기 때문에 이미지도 비활성화 해줍니다

                        J_Inventory.j_Inventory.items[i].GetComponent <J_Slots>().mainIamge.SetActive(false);

                        //아이템이 없기 때문에 null값을 넣어줍니다
                        J_ItemManager.j_Item.items2[i] = null;
                    }
                    break;
                }
            }
            a.itemMy.transform.position             = player.transform.position;
            a.itemMy.GetComponent <J_Item>().auount = clickButton.GetComponent <J_SclectButton>().ss;
            a.itemMy.SetActive(true);

            /* GameObject mm = Instantiate(a.itemMy);
             * mm.SetActive(true);
             * mm.GetComponent<J_Item>().auount = clickButton.GetComponent<J_SclectButton>().ss;
             * mm.transform.position = player.transform.position;
             */
        }



        //창고에서 인벤토리로 꺼내는 조건입니다
        else if (state == State.LOCKER)
        {
            J_Slots slotss = _Slots.GetComponent <J_Slots>();
            for (int i = 0; i < J_ItemManager.j_Item.items2.Length; i++)
            {
                //만약에 같은 이름이 있다면 거기에 넣어준다
                if (J_ItemManager.j_Item.items2[i] != null && J_ItemManager.j_Item.items2[i].itemName == _Slots.GetComponent <J_Slots>().name)
                {
                    J_ItemManager.j_Item.items2[i].auount += clickButton.GetComponent <J_SclectButton>().ss;

                    break;
                }
                //하지만 같은 이름이 존재하지 않고 자리가 남아있다면
                else if (J_ItemManager.j_Item.items2[i] == null)
                {
                    for (int j = 0; j < infoItem.GetComponent <J_ItemInformationManager>().allItems.Length; j++)
                    {
                        if (_Slots.GetComponent <J_Slots>().name ==
                            infoItem.GetComponent <J_ItemInformationManager>().allItems[j]
                            .GetComponent <J_Item>().itemName)
                        {
                            GameObject item = Instantiate(infoItem.GetComponent <J_ItemInformationManager>().allItems[j]);
                            item.transform.position = player.transform.position;
                            J_Item j_Item = item.GetComponent <J_Item>();
                            J_ItemManager.j_Item.items2[i]           = j_Item;
                            J_ItemManager.j_Item.items2[i].auount    = clickButton.GetComponent <J_SclectButton>().ss;
                            J_ItemManager.j_Item.items2[i].itemImage = j_Item.itemImage;
                            J_ItemManager.j_Item.items2[i].my        = item;
                            item.SetActive(false);
                            break;
                        }
                    }
                    break;
                }
            }

            //이제 여기서 창고에 있는 아이를 죽인다

            slotss.MySeilf(slotss.name, slotss.Image.sprite, int.Parse(slotss.text.text) -
                           clickButton.GetComponent <J_SclectButton>().ss);
            if (slotss.text.text == "")
            {
                slotButton.SetActive(false);
                slotss.MySeilf(null, null, 0);
                slotss.mainIamge.SetActive(false);
            }
        }
        //자신 인벤토리에서 창고로 넣어주는 상태입니다


        else if (state == State.LOCKERINVENTROY)
        {
            J_Slots slotss = _Slots.GetComponent <J_Slots>();
            for (int i = 0; i < J_LockerInvs.j_LockerInvs.items.Count; i++)
            {
                if (J_LockerInvs.j_LockerInvs.items[i] != null)
                {
                    //int.Parse(gameObject.GetComponent<J_Slots>().text.text)
                    //J_LockerInvs.j_LockerInvs.items[i] = gameObject.GetComponent<J_Slots>();
                    J_LockerInvs.j_LockerInvs.items[i].GetComponent <J_Slots>().mainIamge.SetActive(true);
                    if (J_LockerInvs.j_LockerInvs.items[i].GetComponent <J_Slots>().text.text == "")
                    {
                        J_LockerInvs.j_LockerInvs.items[i].GetComponent <J_Slots>().MySeilf(
                            gameObject.GetComponent <J_Slots>().name,
                            gameObject.GetComponent <J_Slots>().Image.sprite,
                            clickButton.GetComponent <J_SclectButton>().ss);
                    }
                    else if (J_LockerInvs.j_LockerInvs.items[i].GetComponent <J_Slots>().text.text != "" && slotss.name ==
                             J_LockerInvs.j_LockerInvs.items[i].GetComponent <J_Slots>().name)
                    {
                        J_LockerInvs.j_LockerInvs.items[i].GetComponent <J_Slots>().MySeilf(
                            gameObject.GetComponent <J_Slots>().name,
                            gameObject.GetComponent <J_Slots>().Image.sprite,
                            clickButton.GetComponent <J_SclectButton>().ss +
                            int.Parse(J_LockerInvs.j_LockerInvs.items[i].GetComponent <J_Slots>().text.text));
                    }
                    else
                    {
                        continue;
                    }



                    //이 위까지 창고로 넣어주는 명령어입니다

                    //아래는 이제 인벤토리에서 지우는 명령어 입니다
                    for (int j = 0; j < J_ItemManager.j_Item.items2.Length; j++)
                    {
                        //지금 창고에 넣을 아이템 이름과 아이템 메니저의 이름을 검사해서 두개가 동일하면 다음 if문을 실행합니다
                        if (J_LockerInvs.j_LockerInvs.items[i].GetComponent <J_Slots>().name ==
                            J_ItemManager.j_Item.items2[j].itemName)
                        {
                            J_ItemManager.j_Item.items2[j].auount -= clickButton.GetComponent <J_SclectButton>().ss;

                            //J_LockerInventroy
                            //이걸로 수정해야합니다 생각해보니깐 아까부터 계속해서 창고에 있는 아이랑 계산해주고
                            //있었네 ㅁㅊ ㄷㄷㄷ

                            ButtonClicks();
                            if (J_ItemManager.j_Item.items2[j].auount == 0)
                            {
                                // J_ItemManager.j_Item.items2[j].GetComponent<>
                                slotButton.SetActive(false);
                                //J_Inventory.j_Inventory.items[j].GetComponent<J_Slots>().mainIamge.SetActive(false);
                                J_ItemManager.j_Item.items2[j] = null;
                            }
                            break;
                        }
                    }

                    break;
                }
            }
        }
    }