private void Start() { BoostDatabase.Load(); BoostDatabase.Boosts.CollectionChanged += Boosts_CollectionChanged; OnAddNewItems(BoostDatabase.Boosts); }
public void BoostsHandler_OnBought(Item item) { if (item is SportNutritionItem) { BoostDatabase.Boosts.Add(new SportNutritionBoost(new Boost.Timer(DateTime.Now + TimeSpan.FromSeconds((item as SportNutritionItem).Time)), item)); } else if (item is SportingGoodsItem) { BoostDatabase.Boosts.Add(new SportingGoodsBoost(new Boost.Timer(DateTime.MaxValue), item)); } CreateBoosts(); BoostDatabase.Save(); }
private void CreateBoosts() { var boostsFactory = new SportNutritionBoostsFactory(); var sportNutritionBoosts = BoostDatabase.Boosts.Where(x => x is SportNutritionBoost).Select(x => x as SportNutritionBoost).ToList(); for (int i = 0; i < sportNutritionBoosts.Count; i++) { boostsFactory.CreateBoost(sportNutritionBoosts[i], StackForBoost); var boost = BoostDatabase.Boosts.First(x => x.Equals(sportNutritionBoosts[i])); sportNutritionBoosts[i].OnEndBoost += () => { BoostDatabase.Boosts.Remove(boost); BoostDatabase.Save(); }; } }