Ejemplo n.º 1
0
    // 아이템을 넣기위해 모든 슬롯을 검사.
    public bool AddItem(ItemCtrl item)
    {
        // 슬롯에 총 개수.
        int slotCount = ItemAllSlot.Count;

        // 넣기위한 아이템이 슬롯에 존재하는지 검사.
        for (int i = 0; i < slotCount; i++)
        {
            // 그 슬롯의 스크립트를 가져온다.
            SlotCtrl slot = ItemAllSlot[i].GetComponent <SlotCtrl>();
            // 슬롯이 비어있으면 통과.
            if (!slot.isSlots())
            {
                continue;
            }

            // 슬롯에 존재하는 아이템의 타입과 넣을려는 아이템의 타입이 같고.
            // 슬롯에 존재하는 아이템의 겹칠수 있는 최대치가 넘지않았을 때. (true일 때)
            if (slot.ItemReturn().type == item.type)
            {
                if (slot.ItemReturn().type.ToString() == "ProofVest")
                {
                    return(false);
                }
                // 슬롯에 아이템을 넣는다.
                Debug.Log("중복 아이템 추가..!");
                slot.AddItem(item, true, slot);
                return(true);
            }
        }

        // 빈 슬롯에 아이템을 넣기위한 검사.
        for (int i = 0; i < slotCount; i++)
        {
            SlotCtrl slot = ItemAllSlot[i].GetComponent <SlotCtrl>();

            // 슬롯이 비어있지 않으면 통과
            if (slot.isSlots())
            {
                continue;
            }

            if (item.type.ToString() == "ProofVest")
            {
                player.armour += 100;
                player.imgArmourBar.fillAmount = (float)player.armour / (float)player.initArmour;
                player.send_PlayerHP(player.hp, player.armour);
            }

            slot.AddItem(item, false, null);
            return(true);
        }

        // 위에 조건에 해당되는 것이 없을 때 아이템을 먹지 못함.
        return(false);
    }
Ejemplo n.º 2
0
    public void AddItem(ItemCtrl item, bool same, SlotCtrl sameSlot)
    {
        if (same == true)
        {
            if (item.type == 0)
            {
                player.bulletCount[0] += 30;
                sameSlot.ItemReturn().setItemCount(30); // 이미 존재 하면 해당 갯수를 증가한다.
            }
            else if ((int)item.type == 1)
            {
                player.bulletCount[1] += 30;
                player.bulletCount[2] += 30;
                sameSlot.ItemReturn().setItemCount(30); // 이미 존재 하면 해당 갯수를 증가한다.
            }
            else if ((int)item.type == 2)
            {
                player.bulletCount[3] += 30;
                sameSlot.ItemReturn().setItemCount(30); // 이미 존재 하면 해당 갯수를 증가한다.
            }
            else if ((int)item.type == 3)
            {
                sameSlot.ItemReturn().setItemCount(1); // 이미 존재 하면 해당 갯수를 증가한다
            }

            if (player.now_Weapon != -1)
            {
                player.weaponText.text = player.reloadBulletCount[player.now_Weapon] + " / " + player.bulletCount[player.now_Weapon];
            }
        }
        else
        {
            if (item.type == 0)
            {
                player.bulletCount[0] += 30;
            }
            else if ((int)item.type == 1)
            {
                player.bulletCount[1] += 30;
                player.bulletCount[2] += 30;
            }
            else if ((int)item.type == 2)
            {
                player.bulletCount[3] += 30;
            }

            if (player.now_Weapon != -1)
            {
                player.weaponText.text = player.reloadBulletCount[player.now_Weapon] + " / " + player.bulletCount[player.now_Weapon];
            }
            slot.Push(item);
        }

        UpdateInfo(true, item.DefaultImg);
    }
Ejemplo n.º 3
0
    public void Down()
    {
        // 슬롯에 아이템이 없으면 함수종료.
        if (!slot.isSlots())
        {
            return;
        }

        // 아이템 사용시.
        if (Input.GetMouseButtonDown(1))
        {
            slot.ItemUse();
            return;
        }

        // 빈 이미지 객체를 활성화 시킨다.
        Img.gameObject.SetActive(true);

        // 빈 이미지의 사이즈를 변경한다.(해상도가 바뀔경우를 대비.)
        float Size = slot.transform.GetComponent <RectTransform>().sizeDelta.x;

        EmptyImg.rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, Size);
        EmptyImg.rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, Size);

        // 빈 이미지의 스프라이트를 슬롯의 스프라이트로 변경한다.
        EmptyImg.sprite = slot.ItemReturn().DefaultImg;
        // 빈 이미지의 위치를 마우스위로 가져온다.
        Img.transform.position = Input.mousePosition;
        // 슬롯의 아이템 이미지를 없애준다.
        slot.UpdateInfo(true, slot.DefaultImg);
        // 슬롯의 텍스트 숫자를 없애준다.
        slot.text.text = "";
    }
Ejemplo n.º 4
0
    // 아이템!!!!!!!!!! 1: 비어있는 슬롯, 2: 안 비어있는 슬롯.
    void ItemSwap2(SlotCtrl xFirst, SlotCtrl oSecond)
    {
        int      Count = oSecond.slot.Count;
        ItemCtrl item  = oSecond.slot.Peek();

        for (int i = 0; i < Count; i++)
        {
            if (xFirst != null)
            {
                xFirst.slot.Push(item);
            }
        }

        if (xFirst != null)
        {
            xFirst.UpdateInfo(true, oSecond.ItemReturn().DefaultImg);
        }

        oSecond.slot.Clear();
        oSecond.UpdateInfo(false, oSecond.DefaultImg);
    }