private void CreateListEntry(VariableCostDataType type) { CreateDefaultVariableCostValues(); if (AllShopVariableCostData.Where(y => y.VariableCostDataType == type).Count() == 0) { AllShopVariableCostData.Add(new ShopVariableCostData() { VariableCostDataType = type, UseCount = 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); }
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++; }