private void OnItemBought(ItemConfig cfg, ItemVariant var) { if (variant == var) { lockIMG.gameObject.SetActive(false); } }
private void ManipulateDisplayingInfo(ItemVariant var) { if (shopManager.CheckIfItemIsBought(itemCFG, var) /* || var.cost == 0*/) { buyButton.SetActive(false); itemBoughtTab.SetActive(true); // donebutton on doneButton.SetActive(true); } else { buyButton.SetActive(true); itemBoughtTab.SetActive(false); //donebutton off doneButton.SetActive(false); } if (currentRoomConfig.ItemAndVarIsInConfig(itemCFG, var)) { doneButton.SetActive(false); } variantCostText.text = var.cost.ToString(); variantCurrencyIMG.sprite = var.currencyType == CurrencyType.HARD ? hardCurrencySprite : softCurrencySprite; variantNameIDtext.text = var.ConfigId; varDescriptionText.text = var.description; }
//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 ManipulateDisplayingInfo(ItemVariant var) { if (shopManager.CheckIfItemIsBought(itemCFG, var) /* || var.cost == 0*/) { buyButton.SetActive(false); itemBoughtTab.SetActive(true); // donebutton on doneButton.SetActive(true); /* Debug.Log("SHOW DONE BUTTON!!!!");*/ } else { buyButton.SetActive(true); itemBoughtTab.SetActive(false); //donebutton off doneButton.SetActive(false); } if (SaveManager.Instance.LoadClothesSet(previewManager.GetCurrentKey()).ItemAndVarIsInConfig(itemCFG, var)) { doneButton.SetActive(false); } variantCostText.text = var.cost.ToString(); variantCurrencyIMG.sprite = var.currencyType == CurrencyType.HARD ? hardCurrencySprite : softCurrencySprite; variantNameIDtext.text = var.ConfigId; varDescriptionText.text = var.description; }
public void AddItemToConfig(RoomItemConfig item) { ItemVariant var = new ItemVariant(); string itemID = item.ConfigId; string variantID = var.ConfigId; pickedItemsAndVariants.Add(itemID + "+" + variantID); }
private void OnItemVariantChanged(ItemVariant variant) { foreach (var Gobject in ObjectsPreviewing) { //HERE WE APPLY VARIANT ON THE MODEL! Gobject.GetComponent <MeshRenderer>().material.color = variant.color; } activeVariant = variant; }
public List <string> bought3DModelItems = new List <string>(); //last thing to do public void AddItemToBoughtList(ItemConfig cfg, ItemVariant variant) { var itemID = cfg.ConfigId; var variantID = variant.ConfigId; var resultString = string.Concat(itemID, "+", variantID); bought3DModelItems.Add(resultString); }
public void Deconstruct( out ItemVariant itemVariant, out Reference languageReference, out IDictionary <Reference, ItemVariant> newItemVariants ) { itemVariant = ItemVariant ?? throw new ArgumentNullException(nameof(ItemVariant)); languageReference = LanguageReference ?? throw new ArgumentNullException(nameof(LanguageReference)); newItemVariants = NewItemVariants ?? throw new ArgumentNullException(nameof(NewItemVariants)); }
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 void PutOnItem(ItemConfig config, ItemVariant variant) { if (config.itemObject != null) { if (skinHolder == null) { return; } var bodyAnimator = GetComponentInChildren <Animator>(); //player body is our child var bodyTransform = skinHolder?.Find(config.bodyPart.ToString()); //IF YOU WANT RENAME 3DMODEL PARTS - RENAME ENUM BODY_PART var newBodyPart = Instantiate(config.itemObject, skinHolder); newBodyPart.name = bodyTransform.name; var newAnimator = newBodyPart.GetComponent <Animator>(); newAnimator.runtimeAnimatorController = bodyAnimator.runtimeAnimatorController; newAnimator.avatar = bodyAnimator.avatar; GameObject.DestroyImmediate(bodyTransform.gameObject); /* GameObject.Destroy(bodyTransform.gameObject);*/ /* if (config.mesh != null) * newBodyPart.GetComponentInChildren<SkinnedMeshRenderer>().sharedMesh = config.mesh;*/ newBodyPart.GetComponentInChildren <SkinnedMeshRenderer>().material.color = variant.color; //and we disable DisableBodyParts(config.partsToDisable); } else { if (config.mesh != null /* && config.material != null*/) { var bodyTransform = skinHolder.Find(config.bodyPart.ToString()); //IF YOU WANT RENAME 3DMODEL PARTS - RENAME ENUM BODY_PART bodyTransform.GetComponentInChildren <SkinnedMeshRenderer>().sharedMesh = config.mesh; /* bodyTransform.GetComponentInChildren<SkinnedMeshRenderer>().material = config.material;*/ bodyTransform.GetComponentInChildren <SkinnedMeshRenderer>().material.color = variant.color; } else { Debug.LogWarning("Set mesh/material in config and check skinholder!"); } } }
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, 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); }
public bool VariantIsBought(ItemConfig item, ItemVariant variant) { foreach (string dirtyPair in bought3DModelItems) { string[] strs = dirtyPair.Split('+'); if (strs.Contains(item.ConfigId)) { if (strs.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); } }
//show item at model(preview) private void OnItemPressed(GameObject item) { var itemCFG = item.GetComponent <ItemDisplay>().itemConfig; activeVariant = previewingClothesConfig?.GetActiveVariant(itemCFG); GetComponent <SkinsManager>().PutOnItem(itemCFG, activeVariant); /* * var bodyPart = transform.Find(itemCFG.bodyPart.ToString()); * previewingBodyPart = bodyPart.GetComponent<SkinnedMeshRenderer>(); * previewingBodyPart.sharedMesh = itemCFG.mesh; * * previewingBodyPart.material.color = previewingClothesConfig.ItemIsInConfig(itemCFG) == true ? * previewingClothesConfig.GetActiveVariant(itemCFG).color : itemCFG.variants[0].color; */ itemPreviewing = itemCFG; }
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)); }
public ItemVariantThumbnailViewModel(ItemVariant itemVariant) : base(itemVariant) { Images = itemVariant.Images.Select(i => new ItemVariantImageViewModel(i)); }
private void OnItemVariantChanged(ItemVariant variant) { GetComponent <SkinsManager>().PutOnItem(itemPreviewing, variant); //previewingBodyPart.material.color = variant.color; activeVariant = variant; }
private void HideBuyButton(RoomItemConfig cfg, ItemVariant var) //TODO cfg is unnecessary && var { //MAY BE DO NOT HIDE? buyButton.SetActive(false); itemBoughtTab.SetActive(true); }
public ItemVariantDetailViewModel(ItemVariant itemVariant) : base(itemVariant) { ItemProperties = itemVariant.ItemProperties.Select(propertyValue => new ItemPropertyViewModel(propertyValue)); }