//show item at model(preview) private void OnItemPressed(GameObject item) { ObjectsPreviewing.Clear(); var itemCFG = item.GetComponent <RoomItemDisplay>().itemConfig; activeVariant = currentRoomConf?.GetActiveVariant(itemCFG); foreach (GameObject it in roomItems) { if (it.name == itemCFG.furnitureType.ToString()) { camMov.target = it.transform; ObjectsPreviewing.Add(it); if (itemCFG.mesh != null) { it.GetComponent <MeshFilter>().mesh = itemCFG.mesh; } var itemRenderer = it.GetComponent <MeshRenderer>(); itemRenderer.material = itemCFG.material; itemRenderer.material.color = currentRoomConf?.ItemIsInConfig(itemCFG) == true? currentRoomConf.GetActiveVariant(itemCFG).color : itemCFG.variants[0].color; } } itemPreviewing = itemCFG; }
private void OnRoomItemBought(RoomItemConfig cfg, ItemVariant var) { if (variant == var) { lockIMG?.gameObject.SetActive(false); } }
private void OnRoomItemPicked(RoomItemConfig cfg) { var activeVar = SaveManager.Instance.LoadRoomSet().GetActiveVariant(cfg); bool isActive = activeVar == variant ? true : false; activeTick.SetActive(isActive); }
public void AddItemToConfig(RoomItemConfig item) { ItemVariant var = new ItemVariant(); string itemID = item.ConfigId; string variantID = var.ConfigId; pickedItemsAndVariants.Add(itemID + "+" + variantID); }
public void AddRoomItemToShopList(RoomItemConfig conf, ItemVariant activeVar) { var list = shopDataConfig.boughtRoomItems; var pair = string.Concat(conf.ConfigId, '+', activeVar.ConfigId); if (list.Contains(pair)) { return; } list.Add(pair); }
public bool ItemAndVarIsInConfig(RoomItemConfig item, ItemVariant var) { foreach (string dirtyPair in pickedItemsAndVariants) { string[] strs = dirtyPair.Split('+'); if (strs.Contains(item.ConfigId) && strs.Contains(var.ConfigId)) { return(true); } } return(false); }
public void Buy(RoomItemConfig cfg, ItemVariant varitant, int cost, CurrencyType type) { switch (type) { case CurrencyType.SOFT: saveManager.SpendSoftCurrency(cost); break; case CurrencyType.HARD: saveManager.SpendHardCurrency(cost); break; } saveManager.AddRoomItemToShopList(cfg, varitant); }
public bool CheckIfItemIsBought(RoomItemConfig cfg) // overload check if bought item only { var list = saveManager.GetRoomItemList(); foreach (string str in list) { var pair = str.Split('+'); if (pair[0].Contains(cfg.ConfigId)) { return(true); } } return(false); }
private void OnItemPicked(RoomItemConfig itemConfig) { if (this.itemConfig == itemConfig && shopManager.CheckIfItemIsBought(itemConfig)) { activeItemTick.SetActive(true); } else { activeItemTick.SetActive(false); } /* frameIMG.color = startFrameColor; * isPreviewing = false;*/ }
public bool CheckIfItemIsBought(RoomItemConfig cfg, ItemVariant variant) //check if bought item+concrete var { var list = saveManager.GetRoomItemList(); foreach (string str in list) { var pair = str.Split('+'); if (pair[0].Contains(cfg.ConfigId) && pair[1].Contains(variant.ConfigId)) { return(true); } } return(false); }
private void OnItemBought(RoomItemConfig cfg, ItemVariant var) // TODO var is unnecessary { if (itemConfig == cfg) { if (lockIcon != null) { lockIcon.gameObject.SetActive(false); activeItemTick.SetActive(true); /* frameIMG.color = startFrameColor;*/ } } else { activeItemTick.SetActive(false); } }
public void AddItemToConfig(RoomItemConfig item, ItemVariant variant) { string itemID = item.ConfigId; string variantID = variant.ConfigId; foreach (string pair in pickedItemsAndVariants.ToList()) { string[] strs = pair.Split('+'); var it = ScriptableList <RoomItemConfig> .instance.GetItemByID(strs[0]); if (it.furnitureType == item.furnitureType) { pickedItemsAndVariants.Remove(pair); } } pickedItemsAndVariants.Add(string.Concat(itemID, "+", variantID)); }
private bool CheckIfItemIsActive(RoomItemConfig cfg) { RoomConfig activeClothes = SaveManager.Instance.LoadRoomSet(); if (activeClothes == null) { return(false); } if (activeClothes.ItemIsInConfig(cfg)) { return(true); } else { return(false); } }
public ItemVariant GetActiveVariant(RoomItemConfig item) { if (pickedItemsAndVariants != null) { foreach (string dirtyPair in pickedItemsAndVariants) { string[] strs = dirtyPair.Split('+'); if (strs.Contains(item.ConfigId)) { foreach (ItemVariant var in item.variants) { if (strs[1] == var.ConfigId) { return(var); } } } } return(item.variants[0]); } return(null); }
private void DisplayItem(GameObject itemGO) { currentRoomConfig = SaveManager.Instance.LoadRoomSet(); variantSlider.SetActive(true); //activate it just in case //display item description itemCFG = itemGO.GetComponent <RoomItemDisplay>().itemConfig; rightPanel.SetActive(true); itemDisplaying = Instantiate(itemGO, rightPanel.transform.position, Quaternion.identity); itemDisplaying.transform.SetParent(parentForItem); itemDisplaying.GetComponent <RectTransform>().ResetTransform(); itemDisplaying.GetComponent <RectTransform>().sizeDelta = itemDisplaySize; if (shopManager.CheckIfItemIsBought(itemCFG, currentRoomConfig.GetActiveVariant(itemCFG))) { buyButton.SetActive(false); } else { buyButton.SetActive(true); } //clear all variants var children = parentForVariants.GetComponentsInChildren <Transform>(); foreach (Transform child in children) { if (child != parentForVariants.transform) { Destroy(child.gameObject); } } // spawn variants in RightSlider if (itemCFG.variants.Count > 1) { foreach (ItemVariant V in itemCFG.variants) { var varGroup = parentForVariants.GetComponent <VariantGroup>(); var variant = Instantiate(variantPrefab); variant.transform.SetParent(parentForVariants); var varTab = variant.GetComponent <VariantTab>(); varTab.group = varGroup; varTab.variant = V; varTab.group.Subscribe(varTab); varTab.tabBackground.color = V.color; bool hasActiveVar; if (currentRoomConfig.ItemIsInConfig(itemCFG)) { hasActiveVar = currentRoomConfig.GetActiveVariant(itemCFG) == V ? true : false; /* Debug.Log("Item: " + itemCFG + ", active variant :" + currentRoomConfig.GetActiveVariant(itemCFG));*/ } else { hasActiveVar = V == itemCFG.variants[0] ? true : false; } varTab.activeIMG.gameObject.SetActive(hasActiveVar); bool isActive = currentRoomConfig.ItemAndVarIsInConfig(itemCFG, V) == true ? true : false; varTab.activeTick.SetActive(isActive); bool isBought = shopManager.CheckIfItemIsBought(itemCFG, V) /* || V.cost == 0*/ == true ? false : true; varTab.lockIMG.gameObject.SetActive(isBought); } ManipulateDisplayingInfo(currentRoomConfig.GetActiveVariant(itemCFG)); } else { variantSlider.SetActive(false); ManipulateDisplayingInfo(itemCFG.variants[0]); } Destroy(itemDisplaying.GetComponent <ItemClick>()); }
public ItemVariant GetActiveVariant(RoomItemConfig cfg) { return(LoadRoomSet().GetActiveVariant(cfg)); }
private void HideDoneButton(RoomItemConfig cfg) { doneButton.SetActive(false); }
private void HideBuyButton(RoomItemConfig cfg, ItemVariant var) //TODO cfg is unnecessary && var { //MAY BE DO NOT HIDE? buyButton.SetActive(false); itemBoughtTab.SetActive(true); }