Example #1
0
    // Update is called once per frame
    void Update()
    {
        GameObject  PanelNotUse = GameObject.Find("Player").GetComponent <Inventory>().Panel;
        List <Item> ListNotUse  = GameObject.Find("Player").GetComponent <Inventory>().list;

        if (NeedUpdate)
        {
            print("обнавляем инвентарь героя");
            Draw.UpdateInventory(PanelNotUse, ListNotUse);
            NeedUpdate = false;
        }
    }
Example #2
0
    public void PootToInventory(Item item)      //засовываем айтем в инвентарь
    {
        bool checkrepeat = false;
        int  count       = list.Count;
        int  rest        = 0;

        //item = other.GetComponent<Item>();    //итем подобранного предмета
        //if (item!=null){                  //Проверяем нормальный ли итем пришёл
        for (int i = 0; i < count; i++)                                         //бежим по инвентарю
        {
            if (list[i].prefab == item.prefab & list[i].count != item.MaxStaсk) //если нашли в инвентаре что уже было, то стакаем
            {
                checkrepeat = true;
                if (list[i].count + item.count + rest <= list[i].MaxStaсk)                              //проверяем можно ли засунуть в стак
                {
                    list[i].count += item.count + rest;                                                 //если получилось уходим
                    i              = count;
                }
                else
                {
                    rest          = list[i].count + item.count - list[i].MaxStaсk;
                    list[i].count = list[i].MaxStaсk;
                    item.count    = rest;
                }
            }
        }
        if (checkrepeat != true ^ rest != 0)                                            //если не нашли добавляем новый
        {
            item.Number = MinItem();
            Panel.transform.GetChild(MinItem()).GetComponent <Cell>().IsEmpty = false;
            list.Add(item);
        }

        //}
        if (Panel.activeSelf)
        {
            Draw.UpdateInventory(Panel, list);
        }
    }