private void GeneratePopup(Item.Type type, int amount = 1) { PopupData data = new PopupData(sprites, type, amount); foreach (ItemPopupObject ipo in activePopups) { if (ipo.Data.ItemType == type) { ipo.AddAmount(data.Amount); return; } } for (int i = 0; i < popupsToShow.Count; i++) { PopupData pd = popupsToShow[i]; if (pd.ItemType == type) { pd.AddAmount(amount); return; } } if (ViewingLimitReached) { popupsToShow.Add(data); } else { ItemPopupObject po = GetAnInactivePopup; po.Data = data; } }