Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ PickAnItemSlotToSpawnItemOn()

static int Terraria.Item.PickAnItemSlotToSpawnItemOn ( bool reverseLookup,
int nextItem )
inlinestaticprivate

Definition at line 49799 of file Item.cs.

49800 {
49801 int num = 0;
49802 int num2 = 400;
49803 int num3 = 1;
49804 if (reverseLookup)
49805 {
49806 num = 399;
49807 num2 = -1;
49808 num3 = -1;
49809 }
49810 bool flag = false;
49811 for (int i = num; i != num2; i += num3)
49812 {
49813 if (!Main.item[i].active && Main.timeItemSlotCannotBeReusedFor[i] == 0)
49814 {
49815 nextItem = i;
49816 flag = true;
49817 break;
49818 }
49819 }
49820 if (!flag)
49821 {
49822 int num4 = 0;
49823 for (int j = 0; j < 400; j++)
49824 {
49825 if (Main.timeItemSlotCannotBeReusedFor[j] == 0 && !Main.item[j].instanced && Main.item[j].timeSinceItemSpawned > num4)
49826 {
49827 num4 = Main.item[j].timeSinceItemSpawned;
49828 nextItem = j;
49829 flag = true;
49830 }
49831 }
49832 if (!flag)
49833 {
49834 for (int k = 0; k < 400; k++)
49835 {
49836 if (Main.item[k].timeSinceItemSpawned - Main.timeItemSlotCannotBeReusedFor[k] > num4)
49837 {
49838 num4 = Main.item[k].timeSinceItemSpawned - Main.timeItemSlotCannotBeReusedFor[k];
49839 nextItem = k;
49840 }
49841 }
49842 }
49843 }
49844 return nextItem;
49845 }

References Terraria.Main.item, and Terraria.Main.timeItemSlotCannotBeReusedFor.

Referenced by Terraria.Item.NewItem().