Пример #1
0
        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);
            }
        }
Пример #2
0
        public bool RemovePotentialStoreItem(CCBPotentialStoreItem item)
        {
            CCBBagItem foundItem = m_items.Find(item.Item);

            if (null == foundItem)
            {
                return(false);
            }
            m_items.RemoveItem(foundItem);
            return(true);
        }
Пример #3
0
        public void AddPotentialStoreItem(CCBPotentialStoreItem item)
        {
            //Avoid duplicate items by removing it first if there.
            CCBPotentialStoreItem oldItem = FindItem(item.Item);

            if (null != oldItem)
            {
                m_items.RemoveItem(oldItem);
            }
            m_items.Add(item);
        }
Пример #4
0
        public CCBPotentialStoreItem FindItem(string name)
        {
            CCBBagItem item = m_items.Find(name);

            if (null != item)
            {
                CCBPotentialStoreItem storeItem = (CCBPotentialStoreItem)item;

                System.Diagnostics.Debug.Assert(null != storeItem);
                return(storeItem);
            }
            return(null);
        }
Пример #5
0
 public bool CompareStats(CCBPotentialStoreItem rhs)
 {
     if (m_chance != rhs.m_chance)
     {
         return(false);
     }
     if (m_costRange[0] != rhs.m_costRange[0])
     {
         return(false);
     }
     if (m_costRange[1] != rhs.m_costRange[1])
     {
         return(false);
     }
     if (m_randomizeLimit != rhs.m_randomizeLimit)
     {
         return(false);
     }
     if (Count != rhs.Count)
     {
         return(false);
     }
     return(true);
 }
Пример #6
0
        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();
                }
            }
        }