РЕДАКТИРОВАТЬ: для ясности
У меня есть несколько инвентаризаций (List<Item>
s с именами items1
, items2
и т. Д.) В экземпляре инвентаря (inventory
). У меня также есть несколько копий списка слотов ниже (slots1
).
В данный момент мне нужно скопировать весь цикл for, указанный для каждого набора предметов / слотов. В течение нескольких дней я пытался разумно его сжать, чтобы у меня был только один кусочек кода, который проходит через все инвентаризации.
Я специально пытаюсь найти решение, с помощью которого я могу сказать что-то вроде:
items = inventory.items1
slots = slots1
и затем запустите цикл один раз для каждой пары, поэтому, если у меня есть items1 / slots1, items2 / slots2, items3 / slots3, он будет выполняться три раза.
Мой текущий код:
В инвентаре:
public List<Item> items1 = new List<Item>();
В скрипте пользовательского интерфейса:
InventorySlot1[] slots1 = itemsParent1.GetComponentsInChildren<InventorySlot1>();
for (int i = 0; i < slots1.Length; i++)
{
if (i < inventory.items1.Count)
{
slots1[i].AddItem(inventory.items1[i]);
}
else
{
slots1[i].ClearSlot();
}
}
Существует копия вышеуказанного кода для каждой пары предметов / слотов! Я хотел бы сделать так, чтобы мне нужна была только одна копия этого цикла.