public CCBStorePlaceType AddPlaceType(string placeTypeName) { CCBStorePlaceType newPlaceType = new CCBStorePlaceType(placeTypeName); m_places.Add(newPlaceType); return(newPlaceType); }
private void AddItemsToStore(CCBStore store, CCBStorePlaceType place, Random rnd) { foreach (CCBPotentialStoreItem maybeItem in place.StoreItems.Items) { if (maybeItem.IncludeInStore(rnd)) { CCBStoreItem newItem = new CCBStoreItem(maybeItem.Item); newItem.Cost = maybeItem.GetCost(rnd); newItem.Count = maybeItem.GetLimit(rnd); if (0 == newItem.Count) { store.Add(new CCBStoreItemOmitted(maybeItem.Item, "Limited")); } else { store.Add(newItem); } } else { store.Add(new CCBStoreItemOmitted(maybeItem.Item, "Chance")); } } }
public void MergeItems(CCBStorePlaceType placeFrom) { foreach (CCBPotentialStoreItem item in placeFrom.m_items.Items) { AddPotentialStoreItem(item); } }
private void SaveItem() { bool bAvailable = true == cbItemAvailable.IsChecked; CCBStorePlaceType place = GetCurrentPlace(); string itemTag = GetCurrentItem(); if ((null != place) && (null != itemTag)) { CCBPotentialStoreItem potentialStoreItem = place.FindItem(itemTag); if (null == potentialStoreItem) { potentialStoreItem = new CCBPotentialStoreItem(itemTag); } potentialStoreItem.Available = bAvailable; potentialStoreItem.Chance = IntFromTextbox(tbChance); potentialStoreItem.MinCost = IntFromTextbox(tbMinCost); potentialStoreItem.MaxCost = IntFromTextbox(tbMaxCost); if (true == cbLimit.IsChecked) { potentialStoreItem.Count = IntFromTextbox(tbLimit); } else { potentialStoreItem.Count = -1; } potentialStoreItem.RandomizeLimit = (true == cbRandomizeLimit.IsChecked); place.AddPotentialStoreItem(potentialStoreItem); } }
private void btnAddPlace_OnClick(object sender, RoutedEventArgs e) { System.Diagnostics.Debug.Assert(0 < tbPlace.Text.Length); if (0 < tbPlace.Text.Length) { CCBStorePlaceType newPlaceType = m_manager.AddPlaceType(tbPlace.Text); lbPlaces.Items.Add(newPlaceType); tbPlace.Text = ""; } }
private CCBStorePlaceType GetPlace(int ixPlace) { CCBStorePlaceType place = null; place = (CCBStorePlaceType)lbPlaces.Items[ixPlace]; if (null != place) { return(place); } System.Diagnostics.Debug.Assert(false); System.Diagnostics.Debug.Write(string.Format("Unknown item in place list at {0}", ixPlace)); throw new CEStoreManagerNoPlaceFound("Unknown item in place list at {0}", ixPlace); }
public CCBStore AddStore(CCBStorePlaceType place) { if (null != place) { CCBStore newStore = new CCBStore("New Store", place.Name); System.Random rnd = new Random(); lock (this) { //New items replace previous items, and we want the specific place to override //the generic All place. So add items from All first. AddItemsToStore(newStore, m_places.AllPlaces, rnd); AddItemsToStore(newStore, place, rnd); m_stores.Add(newStore); } return(newStore); } return(null); }
private void UpdateProperties() { string itemTag = GetCurrentItem(); CCBStorePlaceType place = GetCurrentPlace(); System.Diagnostics.Debug.Assert(null != place); if (null != place) { CCBPotentialStoreItem potentialStoreItem = place.FindItem(itemTag); if (null != potentialStoreItem) { cbItemAvailable.IsChecked = potentialStoreItem.Available; SetTextboxInt(tbChance, potentialStoreItem.Chance); SetTextboxInt(tbMinCost, potentialStoreItem.MinCost); SetTextboxInt(tbMaxCost, potentialStoreItem.MaxCost); if (-1 == potentialStoreItem.Count) { cbLimit.IsChecked = false; tbLimit.Text = ""; tbLimit.IsEnabled = false; } else { cbLimit.IsChecked = true; SetTextboxInt(tbLimit, potentialStoreItem.Count); tbLimit.IsEnabled = true; } cbRandomizeLimit.IsChecked = potentialStoreItem.RandomizeLimit; } else { Reset(); } } }