private void InstantiateUIPrefab(IConsumable consumable) { bool found = false; InventoryConsumableItemUI foundObject = null; if (consumable is BaseFoodConsumable) { foundObject = m_spawnedFoods.Find(o => o.Consumable.GetName() == consumable.GetName()); if (foundObject != null) { found = true; foundObject.count = GameManager.instance.ConsumableManager.GetFoodConsumables().FindAll(o => o.GetName() == consumable.GetName()).Count; } } else if (consumable is BaseDrugConsumable) { foundObject = m_spawnedDrugs.Find(o => o.Consumable.GetName() == consumable.GetName()); if (foundObject != null) { found = true; foundObject.count = GameManager.instance.ConsumableManager.GetDrugConsumables().FindAll(o => o.GetName() == consumable.GetName()).Count; } } else { foundObject = m_spawnedErotics.Find(o => o.Consumable.GetName() == consumable.GetName()); if (foundObject != null) { found = true; foundObject.count = GameManager.instance.ConsumableManager.GetEroticConsumables().FindAll(o => o.GetName() == consumable.GetName()).Count; } } if (found == false) { var spawnedPrefab = GameObject.Instantiate <InventoryConsumableItemUI>(m_consumablePrefab); spawnedPrefab.Init(consumable); if (consumable is BaseFoodConsumable) { spawnedPrefab.transform.SetParent(m_foodsParent); m_spawnedFoods.Add(spawnedPrefab); } else if (consumable is BaseDrugConsumable) { spawnedPrefab.transform.SetParent(m_drugsParent); m_spawnedDrugs.Add(spawnedPrefab); } else { spawnedPrefab.transform.SetParent(m_eroticsParent); m_spawnedErotics.Add(spawnedPrefab); } } else { foundObject.RefreshUI(); } }
public virtual void Init(IConsumable consumable) { this.Consumable = consumable; m_name.SetText(consumable.GetName()); m_sprite.sprite = consumable.GetIcon(); m_button.onClick.AddListener(DoAction); }
public void ShowDetailsFor(IConsumable consumable) { currentConsumable = consumable; if (consumable as BaseEroConsumable) { consumableRange.SetText($"Range: { consumable.GetRange()} \n Ero value: {(consumable as BaseEroConsumable).MEroNutritionalValue } \n Time working: {(consumable as BaseEroConsumable).TimeGivingNutrition }"); } else if (consumable as BaseFoodConsumable) { consumableRange.SetText($"Range: { consumable.GetRange()} \n Food value: {(consumable as BaseFoodConsumable).m_foodNutritionalValue } \n Time working: {(consumable as BaseFoodConsumable).timeGivingNutrition }"); } else { consumableRange.SetText($"Type: {(consumable as BaseDrugConsumable).drugType} \n Potency: { (consumable as BaseDrugConsumable).m_drugValue}"); } consumablePrice.SetText($"Price: {consumable.GetPrice()}"); consumableName.SetText(consumable.GetName()); buyButon.interactable = true; }
void IConsumableManager.Consume(IConsumable consumable) { var baseConsumable = consumable as BaseConsumable; var foodConsumable = m_foodConsumables.Find(x => ((IConsumable)x).GetName() == consumable.GetName()); var drugConsumable = m_drugConsumables.Find(x => ((IConsumable)x).GetName() == consumable.GetName()); var eroticConsumable = m_eroticConsumables.Find(x => ((IConsumable)x).GetName() == consumable.GetName()); if (foodConsumable != null) { foodConsumable.PlaceInWorld(); m_foodConsumables.Remove(foodConsumable); } else if (drugConsumable != null) { drugConsumable.PlaceInWorld(); m_drugConsumables.Remove(drugConsumable); } else if (eroticConsumable != null) { eroticConsumable.PlaceInWorld(); m_eroticConsumables.Remove(eroticConsumable); } GameManager.instance.notificationManager.OnConsumablesChanged?.Invoke(); }