private void CreateListEntry(VariableCostDataType type)
 {
     CreateDefaultVariableCostValues();
     if (AllShopVariableCostData.Where(y => y.VariableCostDataType == type).Count() == 0)
     {
         AllShopVariableCostData.Add(new ShopVariableCostData()
         {
             VariableCostDataType = type, UseCount = 0
         });
     }
 }
Example #2
0
        public static VariableCostData GetVariableCostData(VariableCostDataType costType, int count)
        {
            if (count == 0)
            {
                count = 1;
            }

            VariableCostData costData;

            costData = DataLayer.Instance.GetTable(MetaStateSettings.PolymorhTypes[typeof(VariableCostData)]).Cast <VariableCostData>().Where(y => y.PurchaseType == costType && y.PurchaseCount == count).SingleOrDefault();

            if (costData == null)
            {
                costData = DataLayer.Instance.GetTable(MetaStateSettings.PolymorhTypes[typeof(VariableCostData)]).Cast <VariableCostData>().Where(y => y.PurchaseType == costType).OrderBy(y => y.PurchaseCount).Last();
            }

            return(costData);
        }
Example #3
0
        public static ConsumableCost GetVariableCost(VariableCostDataType costType, MetaDataStateBase state)
        {
            VariableCostData costData;
            int purchaseCount = state.ShopState.GetVariableCostData(costType) + 1;

            costData = DataLayer.Instance.GetTable(MetaStateSettings.PolymorhTypes[typeof(VariableCostData)]).Cast <VariableCostData>().Where(y => y.PurchaseType == costType && y.PurchaseCount == purchaseCount).SingleOrDefault();

            if (costData == null)
            {
                costData = DataLayer.Instance.GetTable(MetaStateSettings.PolymorhTypes[typeof(VariableCostData)]).Cast <VariableCostData>().Where(y => y.PurchaseType == costType).OrderBy(y => y.PurchaseCount).Last();
            }

            ConsumableCost result = new ConsumableCost(true);

            if (costData.SecondaryConsumable == null)
            {
                result.ConsumableCostItems.Add(new ConsumableCostItem()
                {
                    ConsumableId = costData.PrimaryConsumable.ConsumableId, Ammount = costData.PrimaryConsumable.Ammount
                });
            }
            else
            {
                if (state.Consumables.CheckBalance(costData.PrimaryConsumable.Consumable, costData.PrimaryConsumable.Ammount) >= 0)
                {
                    result.ConsumableCostItems.Add(new ConsumableCostItem()
                    {
                        ConsumableId = costData.PrimaryConsumable.ConsumableId, Ammount = costData.PrimaryConsumable.Ammount
                    });
                }
                else
                {
                    result.ConsumableCostItems.Add(new ConsumableCostItem()
                    {
                        ConsumableId = costData.SecondaryConsumable.ConsumableId, Ammount = costData.SecondaryConsumable.Ammount
                    });
                }
            }

            return(result);
        }
 public int GetVariableCostData(VariableCostDataType type)
 {
     CreateListEntry(type);
     return(AllShopVariableCostData.Where(y => y.VariableCostDataType == type).Single().UseCount);
 }
 public void IncreaseVariableCostData(VariableCostDataType type)
 {
     CreateListEntry(type);
     AllShopVariableCostData.Where(y => y.VariableCostDataType == type).Single().UseCount++;
 }