public Item[] FindItems(IItemValidator check) { if (check == null) { throw new ArgumentNullException("check"); } ArrayList dataStore = Engine.GetDataStore(); Queue queue = m_FindItems_Queue; if (queue == null) { queue = m_FindItems_Queue = new Queue(); } else if (queue.Count > 0) { queue.Clear(); } if (check.IsValid(this)) { dataStore.Add(this); } if (this.m_Items.Count > 0) { queue.Enqueue(this); while (queue.Count > 0) { Item item = (Item)queue.Dequeue(); ArrayList items = item.m_Items; int count = items.Count; for (int i = 0; i < count; i++) { Item item2 = (Item)items[i]; if (check.IsValid(item2)) { dataStore.Add(item2); } if (item2.m_Items.Count > 0) { queue.Enqueue(item2); } } } } Item[] itemArray = (Item[])dataStore.ToArray(typeof(Item)); Engine.ReleaseDataStore(dataStore); return(itemArray); }
public Item FindItem(IItemValidator check) { if (check == null) { throw new ArgumentNullException("check"); } Queue queue = m_FindItem_Queue; if (queue == null) { queue = m_FindItem_Queue = new Queue(); } else if (queue.Count > 0) { queue.Clear(); } if (check.IsValid(this)) { return(this); } if (this.m_Items.Count > 0) { queue.Enqueue(this); while (queue.Count > 0) { Item item = (Item)queue.Dequeue(); ArrayList items = item.m_Items; int count = items.Count; for (int i = 0; i < count; i++) { Item item2 = (Item)items[i]; if (check.IsValid(item2)) { return(item2); } if (item2.m_Items.Count > 0) { queue.Enqueue(item2); } } } } return(null); }
public Item Create(string itemName, int quality, int sellIn) => _validator.IsValid(itemName, quality, sellIn) ? new Item { Name = itemName, Quality = quality, SellIn = sellIn } : new NullItem();
public static List <T> SortDictionary <T>(Dictionary <string, T> dict, IItemValidator validator = null) { List <T> ret = new List <T>(); foreach (KeyValuePair <string, T> valuePair in dict) { if (validator == null || validator.IsValid(valuePair.Value)) { ret.Add(valuePair.Value); } } return(ret); }
public Item FindEquip(IItemValidator check) { ArrayList equip = this.m_Equip; int count = equip.Count; for (int i = 0; i < count; i++) { EquipEntry entry = (EquipEntry)equip[i]; if (check.IsValid(entry.m_Item)) { return(entry.m_Item); } } return(null); }
public Item FindEquip(IItemValidator check) { ArrayList equip = this.m_Equip; int count = equip.Count; for (int i = 0; i < count; i++) { EquipEntry entry = (EquipEntry) equip[i]; if (check.IsValid(entry.m_Item)) { return entry.m_Item; } } return null; }
public void IncreaseInQualityItemValidatorSuccessPath() { var result = _validators.IsValid("cheese", 10, 10); Assert.True(result); }
public bool IsValid(string itemName, int quality, int sellIn) => _regularItemValidator.IsValid(itemName, quality, sellIn) && _increaseInQualityItemNames.Contains(itemName);
public Item[] FindItems(IItemValidator check) { if (check == null) { throw new ArgumentNullException("check"); } ArrayList dataStore = Engine.GetDataStore(); Queue queue = m_FindItems_Queue; if (queue == null) { queue = m_FindItems_Queue = new Queue(); } else if (queue.Count > 0) { queue.Clear(); } if (check.IsValid(this)) { dataStore.Add(this); } if (this.m_Items.Count > 0) { queue.Enqueue(this); while (queue.Count > 0) { Item item = (Item) queue.Dequeue(); ArrayList items = item.m_Items; int count = items.Count; for (int i = 0; i < count; i++) { Item item2 = (Item) items[i]; if (check.IsValid(item2)) { dataStore.Add(item2); } if (item2.m_Items.Count > 0) { queue.Enqueue(item2); } } } } Item[] itemArray = (Item[]) dataStore.ToArray(typeof(Item)); Engine.ReleaseDataStore(dataStore); return itemArray; }
public Item FindItem(IItemValidator check) { if (check == null) { throw new ArgumentNullException("check"); } Queue queue = m_FindItem_Queue; if (queue == null) { queue = m_FindItem_Queue = new Queue(); } else if (queue.Count > 0) { queue.Clear(); } if (check.IsValid(this)) { return this; } if (this.m_Items.Count > 0) { queue.Enqueue(this); while (queue.Count > 0) { Item item = (Item) queue.Dequeue(); ArrayList items = item.m_Items; int count = items.Count; for (int i = 0; i < count; i++) { Item item2 = (Item) items[i]; if (check.IsValid(item2)) { return item2; } if (item2.m_Items.Count > 0) { queue.Enqueue(item2); } } } } return null; }
public static Item[] FindItems(IItemValidator check) { ArrayList dataStore = Engine.GetDataStore(); IEnumerator enumerator = m_Items.Values.GetEnumerator(); while (enumerator.MoveNext()) { Item current = (Item) enumerator.Current; if (((current.Visible && current.InWorld) && (!current.IsMulti && InRange(current))) && check.IsValid(current)) { dataStore.Add(current); } } Item[] itemArray = (Item[]) dataStore.ToArray(typeof(Item)); Engine.ReleaseDataStore(dataStore); return itemArray; }
public static Item FindItem(IItemValidator check) { IEnumerator enumerator = m_Items.Values.GetEnumerator(); while (enumerator.MoveNext()) { Item current = (Item) enumerator.Current; if (((current.Visible && current.InWorld) && (!current.IsMulti && InRange(current))) && check.IsValid(current)) { return current; } } return null; }
public static Item[] FindItems(IItemValidator check) { ArrayList dataStore = Engine.GetDataStore(); IEnumerator enumerator = m_Items.Values.GetEnumerator(); while (enumerator.MoveNext()) { Item current = (Item)enumerator.Current; if (((current.Visible && current.InWorld) && (!current.IsMulti && InRange(current))) && check.IsValid(current)) { dataStore.Add(current); } } Item[] itemArray = (Item[])dataStore.ToArray(typeof(Item)); Engine.ReleaseDataStore(dataStore); return(itemArray); }
public static Item FindItem(IItemValidator check) { IEnumerator enumerator = m_Items.Values.GetEnumerator(); while (enumerator.MoveNext()) { Item current = (Item)enumerator.Current; if (((current.Visible && current.InWorld) && (!current.IsMulti && InRange(current))) && check.IsValid(current)) { return(current); } } return(null); }