コード例 #1
0
    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();
        }
    }
コード例 #2
0
 public virtual void Init(IConsumable consumable)
 {
     this.Consumable = consumable;
     m_name.SetText(consumable.GetName());
     m_sprite.sprite = consumable.GetIcon();
     m_button.onClick.AddListener(DoAction);
 }
コード例 #3
0
ファイル: ShopUI.cs プロジェクト: defacto2k15/PandaConnection
 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;
 }
コード例 #4
0
    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();
    }