Пример #1
0
 void Filter(string itemClass, bool check)
 {
     for (int i = 0; i < grid.GetComponentsInChildren <Transform>(true).Length; i++)
     {
         FMInventoryItemUI item = grid.GetComponentsInChildren <Transform>(true)[i].GetComponent <FMInventoryItemUI>();
         if (item != null && item.Item.ItemClass.Equals(itemClass))
         {
             item.gameObject.SetActive(check);
         }
     }
     grid.Reposition();
 }
Пример #2
0
    public void BackToHome()
    {
        List <FMInventoryItem> clientItems = ClientSessionData.Instance.InventoryItems;
        JSONArray json = new JSONArray();

        //send to server favorites and eqquiped items
        for (int i = 0; i < grid.GetComponentsInChildren <Transform>(true).Length; i++)
        {
            FMInventoryItemUI item = grid.GetComponentsInChildren <Transform>(true)[i].GetComponent <FMInventoryItemUI>();
            if (item != null)
            {
                item.Item.IsFavorite = item.isFavorite;
                JSONNode node = JSON.Parse("{}");
                node.Add("item", item.Item.InstanceID);
                node.Add("is_favorite", item.isFavorite);
                //json[i]["item"] = item.Item.InstanceID;
                //json[i]["is_favorite"] = item.isFavorite;
                if (item.Item.IsEquipment())
                {
                    node.Add("is_equipped", item.Item.IsEquipped);
                    //json[i]["is_equipped"] = item.Item.IsEquipped;
                }
                //saving on client
                FMInventoryItem savedItem = ClientSessionData.Instance.InventoryItems.Find(x => x.InstanceID.Equals(item.Item.InstanceID));
                if (savedItem != null)
                {
                    savedItem = item.Item;
                }
                json[i] = node;
            }
        }

        //if there was no changes, just go back
        if (clientItems == ClientSessionData.Instance.InventoryItems)
        {
            SceneManager.LoadScene("Home");
            Debug.Log("no changes");
            return;
        }

        Debug.Log("el json " + json.ToString());
        //calling playfab
        PlayfabUtils.Instance.UpdateInventoryEquip(json,
                                                   result => { Debug.Log("updated successfully"); }, error => { Debug.Log("error on update"); });

        SceneManager.LoadScene("Home");
    }
Пример #3
0
    void DisplaySelectedItemInfo(FMInventoryItemUI item)
    {
        checkEquipped.gameObject.SetActive(false);
        labDetailName.text          = item.Item.DisplayName;
        detailItemSPrite.spriteName = item.Item.SpriteName;
        labDetailDescription.text   = item.Item.Description;
        labDetailAmount.text        = "x " + item.Item.Amount;

        if (item.Item.Effects.Count > 0)
        {
            foreach (KeyValuePair <string, string> kvp in item.Item.Effects)
            {
                labDetailEffect.text = kvp.Key + " " + kvp.Value;
            }
        }
        else
        {
            labDetailEffect.text = "--";
        }

        //check if there is CO first
        uint CO;

        if (!item.Item.Prices.TryGetValue("CO", out CO))
        {
            //if there is no price for CO, calculate with CP / 5 instead,  TODO  do this on server
            uint PC;
            item.Item.Prices.TryGetValue("PC", out PC);
            int sellPrice = Mathf.FloorToInt((int)PC / 5);
            labDetailSellPrice.text = sellPrice.ToString();
        }
        else
        {
            labDetailSellPrice.text = (Mathf.FloorToInt(CO / 2)).ToString();
        }
        checkFavorite.value = item.Item.IsFavorite;

        if (!item.Item.IsItem())
        {
            checkEquipped.gameObject.SetActive(true);
            checkEquipped.value = item.Item.IsEquipped;
        }

        selectedItem = item;
        DisplayDetailScreen();
    }
Пример #4
0
    void DisplayItems()
    {
        List <FMInventoryItem> invItems = ClientSessionData.Instance.InventoryItems;

        for (int i = 0; i < invItems.Count; i++)
        {
            CatalogItem       item       = ClientSessionData.Instance.CatalogItems[i];
            GameObject        itemPrefab = Instantiate(Resources.Load("Prefabs/FMInventoryItemUI")) as GameObject;
            FMInventoryItemUI itemUI     = itemPrefab.GetComponent <FMInventoryItemUI>();

            itemUI.SetData(invItems[i]);
            itemUI.OnSelected = DisplaySelectedItemInfo;

            itemUI.gameObject.transform.parent     = grid.transform;
            itemUI.gameObject.transform.localScale = Vector3.one;
        }

        grid.Reposition();
    }