Example #1
0
    public void SortShop()
    {
        List <InventoryItemObject> items = new List <InventoryItemObject> ();

        foreach (Transform slot in shopInventory.slots)
        {
            InventoryItemObject item = GetItemObjectInSlot(slot);
            if (item != null)
            {
                items.Add(item);

                item.Take();
                item.transform.parent = null;
            }
        }
        List <InventoryItemObject> sortedItems;

        //sortedItems = items.OrderByDescending(go=>go.info.uiInfo.size.x*go.info.uiInfo.size.y).ToList();
        //sortedItems = items.OrderBy(go=>go.info.name).ToList();
        sortedItems = items.OrderBy(go => go.info.costInfo.timePrice).ToList();
        //sortedItems.Reverse();

        foreach (InventoryItemObject itemObj in sortedItems)
        {
            itemObj.Place(FindEmptySlot(itemObj, SlotType.Shop));
            //InventoryItem item = ItemDatabase.reference.FindByIndex(itemObj.info.databaseIndex);
            //InitItem (item, SlotType.Shop); // need to be initialized in shop inventory, not player inventory
        }
    }