public List <IItemIcon> CreateStubItemIconsWithItemTempsMatchingAt(int[] quantities, int[] sameAt, IItemTemplate sourceItemTemp) { List <IItemIcon> result = new List <IItemIcon>(); int index = -1; foreach (int i in quantities) { index++; IItemIcon ii = Substitute.For <IItemIcon>(); IUIItem tarItem = Substitute.For <IUIItem>(); if (i == -1) { ii.IsEmpty().Returns(true); ii.GetUIItem().Returns((IUIItem)null); ii.GetItemTemplate().Returns((IItemTemplate)null); } else { ii.IsEmpty().Returns(false); tarItem.GetQuantity().Returns(i); IItemTemplate tarItemTemp = Substitute.For <IItemTemplate>(); tarItem.GetItemTemplate().Returns(tarItemTemp); bool contained = false; foreach (int j in sameAt) { if (j == index) { contained = true; } } if (contained) { tarItemTemp.IsSameAs(sourceItemTemp).Returns(true); } else { tarItemTemp.IsSameAs(sourceItemTemp).Returns(false); } ii.GetUIItem().Returns(tarItem); ii.GetItemTemplate().Returns(tarItemTemp); } result.Add(ii); } return(result); }
public List <IItemIcon> GetAllItemIconWithItemTemplate(IItemTemplate itemTemp) { List <IItemIcon> result = new List <IItemIcon>(); foreach (IItemIcon ii in thisItemIcons) { if (ii.IsEmpty()) { continue; } else { IItemTemplate thisItemTemp = ii.GetItemTemplate(); if (thisItemTemp.IsSameAs(itemTemp)) { result.Add(ii); } } } return(result); }