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(); }
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"); }
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(); }
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(); }