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

◆ PickAnItemSlotToSpawnItemOn()

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

Definition at line 51633 of file Item.cs.

51634 {
51635 int num = 0;
51636 int num2 = 400;
51637 int num3 = 1;
51638 if (reverseLookup)
51639 {
51640 num = 399;
51641 num2 = -1;
51642 num3 = -1;
51643 }
51644 bool flag = false;
51645 for (int i = num; i != num2; i += num3)
51646 {
51647 if (!Main.item[i].active && Main.timeItemSlotCannotBeReusedFor[i] == 0)
51648 {
51649 nextItem = i;
51650 flag = true;
51651 break;
51652 }
51653 }
51654 if (!flag)
51655 {
51656 int num4 = 0;
51657 for (int j = 0; j < 400; j++)
51658 {
51659 if (Main.timeItemSlotCannotBeReusedFor[j] == 0 && !Main.item[j].instanced && Main.item[j].timeSinceItemSpawned > num4)
51660 {
51661 num4 = Main.item[j].timeSinceItemSpawned;
51662 nextItem = j;
51663 flag = true;
51664 }
51665 }
51666 if (!flag)
51667 {
51668 for (int k = 0; k < 400; k++)
51669 {
51670 if (Main.item[k].timeSinceItemSpawned - Main.timeItemSlotCannotBeReusedFor[k] > num4)
51671 {
51672 num4 = Main.item[k].timeSinceItemSpawned - Main.timeItemSlotCannotBeReusedFor[k];
51673 nextItem = k;
51674 }
51675 }
51676 }
51677 }
51678 return nextItem;
51679 }

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

Referenced by Terraria.Item.NewItem_Inner().

+ Here is the caller graph for this function: